Fix issues with and clean up ANNWrapper

If an entry to be merged had only company credited entry.get('credits', [])
would return that company entry without it being enclosed in a list.
This meant that the for loop would iterate over the key names in the
dictionary causing unwanted behavior. This has been fixed. Some
docstrings have been added and function names changed to be more PEP8
compliant.
Make the text interface search online

When attempting to add new entries the text interface would only search
the local ANN cache. Obviously when you're adding new entries chances
are the entry you want doesn't already exist cached, meaning the search
would display no results. This has been fixed by calling ANN.search()
will the online flag set to True.