Support for optional memcached caching in mongodb_backend.py

Support for optional memcached caching is implemented, providing for a substantial improvement when remote mongodb servers are used. Support degrades gracefully for both missing the python-memcache module or not
having an active memcache server. There is a default memcache item decay time of 5 minutes, but that can be set separately. Use of memcached requires defining the host and port, default behaviour is the current non-cached behaviour.

Travis CI configuration updated to include requirement for memcache module.