fixes some pointers and adds Close()

I've changed most of the function signatures to use a pointer to Whisper instead of the struct.  

The Whisper databases had no way of being closed, so I've also added a Close() method