Add initial single-file approach to caching parsed files.

The problem with this method is the cache is stored im memory and becomes
cumbersome on load and save.

Nevertheless, the speedup is incredible.
Refactor caching on a per-file basis (even more speed up)

Processed files are now individually pickled in the cache directory in a
structure according to sha1sum.
Output Kurt loading traceback and continue processing.
Initial fixes to comply with pylint > 1.0.
Use logical Argument and directory traversal order.

Arguments are traversed in the order they are given, and sub directories are
traversed in sorted order.
Add --quiet option when running Hairball.
Pass filename down to plugins (backwards incompatible).

Bump development version to 0.2rc1 due to the breaking change.
Make cache files read-only.
Add option to disable Hairball's cache.
Also handle exceptions from cache.load.
Merge caching support.