Adds Model.keys() to get list of model keys (like Model.id)
Moves associations preparation to the end of model construction
Fixes test-multikey-base table
Throws on Model.hasMany() when is used on a Model with multiple keys