Made RedisCacheItem to allow non-binary serialization/deserialization 

RedisCacheItem has been made generic to solve issue #4 . Now if I run the unit tests with JsonSerializer or XmlSerializationProvider all tests pass.

~~I still need to make it so the unit tests are run using each of the serializers.~~
Unit tests added for all serializers.

Added a implementation of Proto-buf serializer with tests.