fix dialyzer warnings in vnode manager

addresses:
  L560: Function update_forwarding/3 has no local return
  L563: Record construction [...] violates the declared type of field forwarding::'undefined' | [pid()]
  L670: The pattern [{MI, Node} | _] can never match the type 'undefined' | [pid()]
  L672: The pattern [{MI, Node} | _] can never match the type 'undefined' | [{_,integer(),pid(),atom()}]
fix dialyzer warnings in node watcher

addresses:
  L756: The created fun has no local return
  L757: The call erlang:apply(Mod::atom(),Func::atom(),nonempty_improper_list('undefined' | pid(),byte())) will
        never return since it differs in the 3rd argument from the success typing arguments:
        (atom() | tuple(),atom(),[any()])
  L757: Cons will produce an improper list since its 2nd argument is byte()
  L770: Function health_check_result/2 will never be called
fix dialyzer warnings in handoff manager

addresses
  L163: The pattern [...] can never match the type {'error','max_concurrency'}
  L504: Record construction [...] violates the declared type of field mod_src_tgt::'undefined' | {atom() | tuple(),integer(),integer()}
remove reference to riak_obect:bucket() type

it doesn't exist in core. fixes dialyzer warning about non-existent type
remove dead code block in ring handler (found via dialyzer)

riak_core:wait_for_application/1 has never returned anything besides ok
(it has no timeout) unlike its predecessor.

Code changed to remove timeout/error in this commit:
https://github.com/basho/riak_core/commit/63334d332a18e596539559fa19556698a7520fd4
address some dialyzer warnings in riak_core_ring

addresses:
  L241: Record construction [...] violates the declared type of field vclock::'undefined' |
        vclock:vclock() and meta::'undefined' | dict()
  L305: Function fresh/0 has no local return
  L312: Function fresh/1 has no local return
  L318: Function fresh/2 has no local return
  L321: Record construction [...] violates the declared type of field nodename::atom() and
        clustername::'undefined' | {atom(),_} and members::'undefined' | [{atom(),{'down' |
        'exiting' | 'invalid' | 'joining' | 'leaving' | 'valid',vclock:vclock(),[]}}] and
        claimant::atom() and seen::'undefined' | [{atom(),vclock:vclock()}]
  L1013: Function reconcile_divergent/3 will never be called
  L1062: Function reconcile_next/2 will never be called
  L1075: Function reconcile_divergent_next/2 will never be called
  L1091: Function substitute/3 will never be called
  L1092: The created fun has no local return
  L1103: Function reconcile_ring/3 will never be called
  L1229: Function equal_cstate/2 has no local return
  L1232: Function equal_cstate/3 has no local return
  L1241: Record construction [...] violates the declared type of field
         vclock::'undefined' | vclock:vclock() and chring::'undefined' |
         {integer(),[{integer(),_}]} and meta::'undefined' | dict() and
         clustername::'undefined' | {atom(),_} and members::'undefined' | [{atom(),
         {'down' | 'exiting' | 'invalid' | 'joining' | 'leaving' | 'valid',vclock:vclock(),[]}}]
          and seen::'undefined' | [{atom(),vclock:vclock()}] and rvsn::'undefined' |
          vclock:vclock()

does not address:
  L240: Function nearly_equal/2 has no local return
  L430: Function reconcile/2 has no local return
  L965: Function internal_reconcile/2 has no local return
  L1014: Function reconcile_divergent/3 has no local return
  L1104: Function reconcile_ring/3 has no local return
  L1252: The pattern 'true' can never match the type 'false'
Merge pull request #270 from basho/jrw-dialyzer-fixes

Dialyzer Fixes