Improve tests

Created mockfs.MockFileSystem
-----------------------------
MockFileSystem is used to isolate bbcleanup from the real filesystem during
testing. MockFileSystem uses a dictionary internally to simulate a filesystem.
Tests patch the native filesystem methods (e.g., os.listdir, os.path.isfile,
etc.) over to the corresponding methods in a MockFileSystem object. An example
of this can be found in test_bbleanup.BBCleanupTester.test_bbcleanup.

Renamed test modules to test*.py
--------------------------------
unittest expects test files to be named test*.py. Although you can use any
naming scheme you want, doing so will mean more configuration when running
unittests. With this rename, the following runs all tests in the project

    cd project
    python -m unittest discover

Or, if you want to run it with `coverage` ...

    cd project
    coverage run -m unittest discover

Personally I have the following alias in my .bashrc

    alias t='coverage run --omit=$(echo test*.py | sed '\''s/ /,/g'\'') -m unittest discover ; coverage report -m'

This runs all tests using coverage and reports coverage information, but ignores
the test files themselves in the coverage report.