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.