Adds FindOne

This adds a FindOne method, fixing some bugs with the FindOne in #57 and adding the flexibility to pass in both a pointer to a struct and a pointer to a pointer to a struct as an out value.  

Example usage is shown in the test I included.