Allows tests to run without PIL

Running the tests doesn't work when PIL isn't installed. We follow
Django by detecting whether or not PIL is installed and adjusting the
test suite accordingly.
Fixing missing FillingImageFileField test

FillingImageFileField was not listed in __all__.
Fixing broken reliance on unittest2

Django's backport of unittest2 didn't land until 1.3, so we can't
rely on it for support of 1.2. Instead of its elegant test skipping
we do some brute force test skipping.
Fixing FillingImageFileField for Django < 1.4

Earlier versions of Django require the dummy file to exist in order
to check what we're checking here.
Merge pull request #120 from marfire/pil_less

Allowing tests to run without PIL