Add more type specs guided by Dialyzer.

Basically I added further type specs using erlc flag +warn_missing_spec then improved those specs based on the Dialyzer flag -Wunderspecs.

+warn_missing_spec isn't complaining anymore about missing specs, which is nice.

-Wunderspecs has a few complaints but they don't appear to be too bad.

Dialyser continues to complain about Unknown functions. Seems like it's not finding the code in the deps directory.

Rebased against csm-cluster-management as [requested](https://github.com/basho/riak_control/pull/72)

Apologies for the noise in the Ember template file, it appears to be just whitespace.