Fix issues with riak_search

The main issue was that the proplist (that is written to Riak) needs to have keys and values encoded as binary, in order for riak_search to index stuff.

This means that [{foo, "bar"}] will not be index, whereas [{<<"foo">>, <<"bar">>}] will be.

Since this change broke the "internal" (boss_db) search, this was fixed, too.

TODO: After the call to riakc_pb_socket:search we already have the entire object. find_acc fetches it again based on the ID.
First batch of suggested improvements

See: https://groups.google.com/d/msg/chicagoboss/JF_1Xn629uA/cJ8gi2qlfZ8J
Improvements to encoding and decoding

Encoding should be faster, because it happens while constructing the proplist.

I also cleaned up the code quite a bit (no more try/catch. YAY).
Removed client-side key generation

Since Riak can generate the key by itself, I removed everything related to that from the adapter (most of it was c/p from riak_core).
Merge branch 'master' into fixes/riak_search
Use list comprehension instead of lists:map
Merge pull request #74 from nifoc/fixes/riak_search

Riak Adapter Improvements