Updated docs on model.destroy

Updated docs to reflect that Model.destroy() takes an optional `options` object the same way Model.fetch() and Model.save() do
Calls to 'destroying' event handlers follow the same 3 variable pattern as others
Pending tests for registering models
Passing tests for Bookshelf.register
Documentation for using Bookshelf.register and Bookshelf.models

Also adds explanation of why to use these helper methods