C.R.U.D operation support.

- Broke write(Data) in GraphWriter into create(Data) and update(Data).
- Updated DecisionMaker to support UPDATE requests as well as CREATE and DELETE.
- Updated DecisionMaker interface to make use of GraphRequestContext object.
- Updated GraphDataSnapshotManager to support UPDATE requests while replaying the log on initialize().
- Removed delete(GraphData) method from GraphWriter interface, no need for it.
- Removed resolve(GraphData) from GraphRequestResolver implementation.
- Added more unit tests