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.