Rewrite of Giallo internals

Rewrite of Giallo internals, the code should be clearer about intention,
flow. Also enable cover, fix dialyzer
Add doc target and some minor doc cleanups
Merge pull request #13 from bipthelin/bt-fixes

Rewrite of Giallo internals