Fix #637. Truncate log file if the last request wasn't written properly
Update the changelog
Fix #640. Update cluster config to track the last used shard id and increment for new ones
Merge pull request #646 from influxdb/fix-640-duplicate-shard-ids

Fix #640. Update cluster config to track the last used shard id and incr...
Update CHANGELOG.md
Abstract storage engines

This commit create a storage engine interface and modify shards to use
interface instead. It also adds a B-Tree implementation and benchmark
tool to compare the performance of the different storage engines.
Make the storage engine selectable from the config file