Updated tests to use transactions and start and stop the Redis server

Use the RedisTransaction object to execute the commands (see http://redis.io/topics/transactions for definition of Redis transactions which are different from relational transactions).

Added a project.json file to EntityFramework.Redis.FunctionalTests so that those tests will run automatically. However you will have to have redis-server installed for this to work. The code looks for an running Redis server and uses that if present, or it will start (and stop) one if you've installed it and have configured the tests to look for it correctly. Otherwise the server is not started and the tests are not run (similar to the ATS tests).
I find that very useful when I'm debugging - I can just start things up and e.g. put in pre-existing data or check things easily that way. Do you object if it stays?