No longer use `NsOptions` for model configuration

This changes model configuration to no longer use `NsOptions`
for it's configuration. The reason for this is it's faster for
models to not use `NsOptions` and just manually handle
configuration on the class itself. `NsOption` provides a lot
of features for managing options with a nice DSL. Model's never
took full use of these features and really don't need them.

This also includes some minor style changes throughout. This was
mostly made up of removing `{}` from inline hashes and raise the
exception message inline when possible.