try to add findone, and copy/modify findsql to create a findsqlone func
(cherry picked from commit 2592365a30ae9714cc15eafeeea839f01d8dad04)
Fix FindOne() to work with a pointer to struct.
FindOne updates
 It can take pointer-to-pointer-to-struct as an argument.
 Always add Limit(1).
add tests for FindOne()
Merge remote-tracking branch 'one/findone'