Fix logging broken by 73fd6cb1dea523f334a63516d73daa449d6fc99c.

It's important to delay importing of any part of the system until
after logging is configured.
Add FeatureDetector caching.
Adjust key used to cache FeatureDetectors.

Considering the name is only unique to the haar file used and not
the arguments (such as the scale factor or minimum neighbours),
we should be storing the combination based on a different key.
Remove supurfluous methods.
Chain exceptions for FeatureNotFoundException on cache hits.

Clients can now retreive the original exception that caused the
new exception as follows

```
try:
    detector.detect(image)
except FeatureNotFoundException as exception:
    print exception    # message contains information about cause too.
    if exception.cause is not None:
        print exception.cause
```
Call parent constructor in FeatureNotFoundException.
Add support for nosetests.
Remove nose dependency. Now only dependent on coverage (optionally).
Fix options to coverage to include all and only mousetrap files.
Rename test to match file.
Remove cruft.
Merge pull request #40 from GNOME-MouseTrap/detectcache

Add FeatureDetector caching.
Initialize Loop using passed config and not app.config.
Observable doesn't need a config.
Report missing statements in coverage report.
Add tests for mousetrap.core.Observable.
Start test_config.py. Add test for _rmerge.
Simplify mousetrap.config and add tests.
Add more tests for mousetrap.config.
Delete most of mt-*.

I'm was the only one using it, and I'm finding I can live without it.
So why have more code to maintain. Goodbye!