Dialyzer Cleanup

Major thanks to @kostis, @cmeiklejohn, and @andrewjstone for sitting with me last week and plowing through Dialyzer's complaints about riak_pipe. This PR fixes the things we found:

 * incorrect types - mostly switching from non-exported things to exported things, but also a little refactoring to make code cleaner and not rely on non-exported types
 * unmatched returns - often just being explicit about not caring what a return value is, but also many cases where functions should have failed if calls didn't return success (mostly in testing code, but good to have our tests be pickier)
 * missing function parameters - just a completely incorrect call that might have been exploding

All eunit tests pass all pipe_* and mapred_* riak_test cases pass locally for me, except `mapred_basic_compat`, which is known broken currently.