WIP: Support for Protocol Buffers

This is far from being done, so please don't merge, but open for discussion.

Starting to bring back Protocol Buffers support for the 0.9 development branch of riak-js. While the implementation is currently done from scratch (mostly because that way I learn a lot more details about all of riak-js' workings), it's based on riakpbc currently, which may or may not change in the future. The idea is to first develop the interface and basic functions and then worry about the transport underneat, as that's pretty well isolated.

Open tasks:

- [x] Support for Riak Search
- [x] Support for MapReduce
- [x] Support to fetch keys
- [x] Handling errors returned form Riak
- [x] Support streaming MapReduce