Adding a ValueGenerator to the Redis provider

Fix for #651 
Moved the common parts of SqlServerSequenceValueGenerator out into BlockOfSequentialValuesGenerator and have both SqlServerSquenceValueGenerator and RedisSequenceValueGenerator inherit from that.
No need to use async and await when returning a task. Also why not implement using GetNextGeneratedValueAsync StringIncrementAsync?