Fix dialyzer warnings

Fix the following dialyzer warnings:
* riakc_obj.erl:122: The call
  riakc_obj:build_client_object(Bucket::any(),Key::any(),'undefined')
  breaks the contract (bucket(),key(),value()) -> riakc_obj()
* riakc_obj.erl:133: The pattern {'error', Reason} can never match the
  type #riakc_obj{bucket::binary(),key::'undefined' |
  binary(),contents::[],updatevalue::'undefined' | binary()}

Also, update the index_result spec type to reflect recent changes.
Merge branch 'klm-fix-dialyzer-warnings'