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. Also, optional positional parameters are supported like named parameters (satisfied, if possible), I found that it is a more consistent implementation.

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.

I must add that there is no attempt to solve issue #16, binding declaration remains the same, with the exception of the removal of bindTo.

A code review is up at https://codereview.appspot.com/45100045/