Write tests for current dynamic class.
Add "aliasing" to Dynamic.

Dynamic can now be passed a 'callable' in order to make that callable
be used for every method call.
Add "function objects". Yet to be interpreted by the drivers & the builders.
Add val function chaining function.
Add Function classes, with tests, of course.
Integrate function system with query builder.
Create value property.
Make is_func publicly available.
Add a failing test for falling back from sqlite to sql.
Fix falling back.
Add another test to dynamic.
Add ability to specific column names when using functions.
Add aliasing.
Add functions to model.
Make the rest of our tests pass.
Add another test for non-caching aliased functions.
Add __call as a sort of alias for ModelDatabase::func
Refactor some code.
Add the missing others.
Add a random functions.