Modify `Namespace` method missing, only use `caller` when error

This changes the namespace's method missing to only call the
`caller` when an exception occurs. This is more efficient and
speeds up all access to reading/writing namespace options. This
is an internal change so no tests had to be modified. There are
already tests that ensure the behavior for raising no method
errors and setting the backtrace to the caller is still working.

Closes #82