we can use "first()" instead of limit(1).load().etc… since on a UNIQUE field, we only expect 1 result. first() returns QueryResult, which is Result<T, diesel::Error>, so we need to implement a converter for that error type. This commit addresses @fdb-hiroshima's review.