fix empty recipes queryset lookup
extending tests to prepare method
unicode strings should be used

In Django the database drivers automatically transform bytes to str. If we generate bytes then models behave differently than if we get them from the database.
fix tests to support unicode fields
Install requirements as part of travis config
updating tox.ini with dependencies
using pillow instead of PIL for testing
testing allow_errors
invalid yaml
using absolute import
fix import problem
this code belongs to sequence class
Removes the platform dependence in tests

The FileField and ImageField tests currently assume the existence of
a UNIX-style temp directory and the use of UNIX-style paths. On
Windows this causes the tests to fail and to create spurious new
files and directories.

This commit makes the tests platform-independent by using the
standard Python modules tempfile and os.path.
Merge pull request #117 from marfire/platform_independent

Removes the platform dependence in tests
Using six.string_types instead of basestring

For Python 3 compatibility.
Fixing lack of unicode support in foreign_key

The code currently checks if the argument to foreign_key is an
instance of str, which won't work for unicode strings. Instead
we use six.string_types.
Merge pull request #118 from marfire/six_string

Fixing lack of unicode support in RecipeForeignKey
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.