Puts vclock back in RiakObject.

This is another "Went the wrong way" once you start playing with the
API.

By having the vclock in the RiakObject it becomes as transparent as
possible to the end user; Get something from Riak, modify it, store
it back. Never have to muck with the vector clock.

I've modified UpdateValue to get the vclock from the fetch response
then re-inject it into the object after conflict resolution and
Update. This means the user doesn't have to deal with the vector
clock; it's taken care of for them.
Adds StringConverter

Adds the StringConverter and modifies the ConverterFactory to
automatically register it when it loads.

This allows Strings to be stored/fetched without the JSONConverter
kicking in and wrapping the string in quotes (which is what Jackson
does with instances of String).

Resolves #418
Adds clobberUpdate to UpdateValue.Update

Added a static method that returns a "clobber" Update that
simply returns the supplied object, thus replacing whatever is
returned by the fetch.

Resolves #417
Change over to use message codes from riak-pb

With the release of riak-pb 2.0.0.14 the protobuf message
codes are automatically generated and included in a class
in that .jar. This deletes the local RiakMessageCodes.java and
changes everything over to use the class in riak-pb

Resolves #415
Merge pull request #414 from basho/move-vclock-inside-riakobject

Move vclock inside riakobject
Merge pull request #419 from basho/gh418-string-converter

Gh418 string converter
Merge pull request #420 from basho/gh417-clobber-update

Gh417 clobber update
Merge pull request #421 from basho/gh415-use-generated-message-codes

Gh415 use generated message codes
Create Makefile for buildbot CI.

* Configures Riak 2.0 with search enabled and LevelDB backend, plus
  the included security stuff in src/test/resources.
* Runs the tests with all features except security, then turns
  security on and tests again.
* Includes a 'lint' task that could be used in the future for checking
  style and other non-functional things. Other clients (e.g. Python,
  Erlang) may use this for analysis tools (e.g. PEP8, dialyzer).