Add Travis CI config

Add .travi.yml file to set up automatic Travis CI.
Mock classes for unit testing

SOme mock classes used for unit testing. They add/expose access to
private or proteced functions and variables.
Add mocking to unit tests

All unit tests are now using mock classes to run so there is no need to
have a Redis server running.