Adds possibility to create a Model and use associations without fetching instances (#15)

After defining a model and associations it's possible to do something
similar to:

```js
Model(ID).getAssociation(....);
```
(where ID is an instance of the model in the database and
getAssociation is a method created by the association)

This allows to fetch associations without needing to fetch an instance
first.
Merge remote-tracking branch 'upstream/master'