make some Model methods defined by `defineProperty` writable so they can be mocked by test suites in non-integration tests.
- writable added to some model instance defineProperty calls, some properties were left alone because they were static or had unknown function (isShell for example)
- added a model-remove test that currently only tests the writable aspect (there appears to be no direct test of this function, other than from the hooks tests)
Merge pull request #399 from picatic/writable-files

Made some Model methods defined by `defineProperty` writable so they can be mocked