Extracted find functionality from the create method

It was useful to me to have a simple way to find if a model matching a set of attributes exists without necessarily creating it. 

This pull request extracts the logic responsible for _finding_ a model in the `model.all` collection from the `model.create` method into a new `model.find`. The `model.create` method is updated to use the new `find` method.

- Created a new model.find method, which will attempt to find a model
in the model.all collection whioch matches the supplied attributes
- Updated create method to use the find method internally