Ignore ctags indexes.
Moved ConfigOption specs into the correct file.
Homogenized lookups, improved error handling.

- We filter everything through the same method_missing_handler now.
- Namespace internals were simplified, but nothing changes for the end
  user.
- Custom errors now store a lot more information:
- - Either the full contents of `caller` including the gem or the
    original error if its a re-raise.
- - We store the custom generated message seperately from the one
    provided to `raise`.
- Added several tests to help confirm behaviour above.
Allow multiple args to be passed to method_missing

Unlike before, we actually forward them to the final object.

Additionally, more detailed error handling was added to ConfigOption.