Added programmer source code caching!

This is great if using a massive directory for the programmer
screensaver - I use the linux kernel, for which otherwise takes several
minutes for termsaver to check each file
__Minor__ code change
Merge pull request #1 from ariccio/Dev

Dev
Moved scanning to background thread

Ugly at the moment, but typing now begins IMMEDIATELY :D
got rid of a single misplaced indent.

was causing more annoyance than actually affecting the program as a
whole.
oh shit broke something
Revert "oh shit broke something"

This reverts commit 8cd9f3f21df0c7c91965a071fce8d2780ef18801.
Fixed bug in implementation of threading

The existence of a cache (from a previous commit's feature) hid a bug in
the implementation of threading!  The execution of self.clear_screen()
immediately after that branch hid a number of useful error messages,
which made debugging quite annoying. Fixed bug in threading
implementation with some ```python @staticmethod``` black magic.
Removing commented out code
Clarified documentation; Removed unused code.

Wrote detailed documentation on threading implementation. Since caching
is no longer easily implemented, or for that matter, relevant - all
caching code removed.
_recurse_to_list(...) no longer returns

_recurse_to_list neither operates on a list nor returns a list, this is
a relic of the single-threaded implementation.
renamed _recurse_to_list

Now accurately reflects the actual nature of the function.
Removed unused code; clarified comments.

Reworded comments to be more explicit about `IOError`s problem-causing
potential.
Minor comment change.
Merge pull request #2 from ariccio/Dev

Dev - I agree with myself (surprisingly)
Implemented requested changes.

https://github.com/brunobraga/termsaver/pull/16#issuecomment-34623705
Merge pull request #3 from ariccio/Dev

Implemented requested changes.
Merge pull request #17 from ariccio/master

Implemented requested changes.