Add a generic raft node

To remove beehive's external dependency on etcd, we implement a
generic raft node based on etcd's raft implementation. This code
will be used in the Hive to implement the registry and also in
Bees to implement replication.
Removes bolt db state backend

As we are moving to store everything in raft, we don't need to have a
DB backend.
Refactor code for Beehive 0.2

This is a very large refactor that changes many aspects of beehive:
- Removes etcd dependency and adds raft within the code.
- Moves all go source to the root to be idiomatic.
- Moves independent codes (e.g., state, connection pool, ...) to their
  own packages.
Merge branch 'master' of github.com:soheilhy/beehive
Seperate configuration changes from other requests

Similar to etcd's model, we have to send the actual ConfChange to the
store to handle automatic raft node removals.
Fix logging in bee.go
Fix bug in creating cells
nits in colony local var names
Change Id to ID in meta
Fix bug in registry.beesOfHive
Add a raft barrier & reload bees when hive starts

This commit adds the basic code for reloading bees when the hive
restarts.
Add test cases for hive and meta
Fork all dependencies using godep
Use Godeps for all non-std imports
Add support for a dynamic cluster of hives

This commit enables hives to dyanmically join the cluster.
Add more logging to bh's raft node.
Adds some more verbose logging
Fix go.net/context import
Sync third parties
Add Transactional

Transactional is a generic wrapper that can make any State
transactional.