Query Interfaces

This resolves #5 however the Search and Index tests do not cleanly pass.  I need to examine the API a little deeper to get a better understanding of it.

I have also completely rearranged `response.go`

1. unmarshalResponse() now handles everything in a switch statement.
2. I have ordered the cases so they match the numToCommand map.
3. I cleaned up some more areas where err was not getting correctly returned, shortened stuff up, etc.
4. It now handles RpbErrorResp and returns the actual error message which will allow us to get more descriptive database errors.

I would also recommend returning all of the raw `Rpb...Resp` structures as I have done with Search() and Index(), instead of just returning a specific field (as defined in response.go).  There is a lot of meta data a developer needs inside them.