CBIDXT-48 Initial Implementation for Flusher

This is the basic structure of Flusher. SliceMap is still a loose
concept and will change as implementation of topology structure happens.
Interaction with storage layer(available via Slice) still needs to be defined.

Patchset 2(Minor Changes):
- Formatting changes in flusher.go
- Fix typo error in message.go
- Remove GetMsgData from Message interface

Change-Id: Ic31afb50319a134736a1a885dbe8f33abfa5f5d4
Reviewed-on: http://review.couchbase.org/36269
Reviewed-by: John Liang <johliang00@gmail.com>
Reviewed-by: Pratap Chakravarthy <prataprc@couchbase.com>
Reviewed-by: Deepkaran Salooja <deepkaran.couchbase@gmail.com>
Tested-by: Deepkaran Salooja <deepkaran.couchbase@gmail.com>