Add cluster interfaces, refactor cluster config and server into cluster package.

* fix backfill of continuous queries to actually work
Fix coordinator test so raft server and cluster config use same configuration object.
Remove extraneous fmt.printf and add some loggigng
ignore protocol.pb.go as it's auto generated
Update Shard Query interface. Add getting shard by series and time
Add initial parts of the sharded leveldb store. Stub out shard management in raft server. Update server to work with new cluster configuration.
Make block size 64k
WIP: refactor so coordinator.RunQuery is the single entry point for running queries.

Coordinator will have the responsibility for distributing the query and possibly running through the engine. This is because the results returned by remote servers may not need to be run through the engine. I'll fix the engine tests later when this refactoring is completed to work with the new sharding style of clustering.
Merge pull request #226 from Dieterbe/ignore-protocol.pb.go

ignore protocol.pb.go as it's auto generated
Add interface for WAL and stub out.
add memory profiling and change the command line flag
add gogoprotobuf to .gitignore
make the max leveldb open files configurable
update the changelog
WIP: more code around writes from coordinator into shards. Shards to local store or server.
Remove cluster servers from Shard since it's not used
Merge branch 'master' into create-cluster-interfaces-and-refactor

Conflicts:
	src/protocol/protocol.pb.go
Fix server startup to wait for local server id after raft server is started
Make cluster configuration set the connection on the server object when adding it.
Make request shouldn't call connect. This happens when the server is added to the cluster config.