Support for user defined Primary Key & soft deletes

I think this is a better solution that the one I made before for issue #158. Basicly it adds the pk attribute to the schema. Then findOne uses that instead of finding it again. Also normalizing criteria required the schema to be their for the primary key.

Also had to change the test to account for the extra attribute.

A beginning for soft deletes, fixes https://github.com/balderdashy/waterline/issues/134.