Run unit tests from executable Python modules

When developing on a Linux VM inside a Windows host, all Python modules have
the executable flag on. Nose has work around for this when run on Windows
(https://github.com/nose-devs/nose/blob/master/nose/config.py#L26). In this
case, the Python intrepeter run inside the VM causing the work-around to fail.
This review request adds check for executable file permission and forces Nose
to run tests.

Testing Done: Unit tests pass.

Reviewed at https://reviews.reviewboard.org/r/5325/
Bump djblets django dependency to 1.6

This is relatively straightforward. The changes here include:
* Bumping django to >= 1.6.1
* Replacing PIL with Pillow as the preferred image library. Existing PIL
  installations will continue to work.
* Remove obsolete call to `setup_environ()` in build-media.py
* Fix call to `compile_messages()` in build-i18n.py
* Changing some tests in the datagrid to account for the fact that 'timesince'
  now uses non-breaking spaces between the number and the unit.

Testing done:
* Ran unit tests.
* Installed djblets and saw that it used PIL if installed, and preferred Pillow
  if not.

Reviewed at https://reviews.reviewboard.org/r/5309/