Overhaul on code distribution and separation of concerns

This CL is mostly a reorganization of what we have right now. In the process, with some little changes, I was able to add support for named parameters and function injection.

Current Module and Binding implementation were isolated on dado.declarative library and the abstract class Module was created, as I'm planning to also build a traditional Module implementation (maybe something like Guice's Module), since it will give Dado a broader appeal. If you are against this idea, please tell me.

A code review is up at https://codereview.appspot.com/45100045/