Customized original implementation

1. Removed option to manually make session dirty 
2. Added AbstractRedisSessionManager to support more configuration
parameters 
3. Check if session is dirty by comparing object changes that could have
happened by reference.