Prevent empty values in cache (using mongo)

This PR prevents empty values from nodes that are not found from being added to the cache when the `mongo` backend is used. I was seeing almost exactly what issue #130 was describing and decided to sit down and debug my way through it. Removing the cache logic from the `NameOf` function pointed me in the right direction. The logic previously was adding to the cache even if the node was not found, which was then providing the empty strings I was seeing during the queries. It will now prevent a not found node from being added to the cache.

I added the mongo tests to `.travis.yml` so that they get run. I have tested them locally, but I couldn't get travis to play with them nicely from my end, so I hope the PR triggers a good build using these tests.

I have signed the CLA, as requested.