Make all tests strictly use get/put interfaces to DB.

Previous versions of the tests did explicit calls to hget to
check that values were stored directly in the Redis databases.
This had the advantage of not triggering gossip subscriptions.
It had the major disadvantage of being dependent upon a specific
format for Redis storage, a format that was left to the implementor
by the assignment specification.

These revised tests communicate exclusively to DB instances
via get and put, never calling hget directly on the Redis instances.

This version does retain one direct call to Redis: Several tests
call exists() to check that a key has been created in the Redis
database. There is no way around this but it is within the
specification that storing data for "tea-x" should include a
Redis key, "/rating/tea-x".
Merge branch 'master' of http://innovate.cs.surrey.sfu.ca/code/533f90cda342aec8c7386aea