Fix #346. Support for optimizers. Included jpegtran as example implementation.
Release 4.5.0
Fixing to only process jpeg files
Release 4.5.1
Removing jpegtran as the default optimizer
release 4.5.2
Fixing issue with file not being closed before being read by jpegtran
release 4.5.3
Remove pdb
Merge pull request #361 from mattrobenolt/pdb

Remove pdb
sentry_error_handler_vows: Fix 'Sentr' -> 'Sentry' typo

This dates back to the creation of this vow in 44c432d2 (Error handler
vows. 100% covered now, 2013-03-28).
Merge pull request #363 from wking/sentr-sentry-typo

sentry_error_handler_vows: Fix 'Sentr' -> 'Sentry' typo
.travis.yml: Don't install distribute

http://python-distribute.org doesn't seem to be up anymore, which is
not surprising so long after the Distribute/Setuptools merge of
2013-06-01 [1].  This reverts 3b41da8d6 (Fix travis CI builds,
2014-02-04).

Instead, we run 'make setup' with sudo to avoid:

  $ make setup
  ...
  error: invalid command 'egg_info'

[1]: https://pythonhosted.org/setuptools/merge-faq.html#what-is-the-timeframe-of-release
vows.mongo_storage_vows: Set a server in GetNothingAfterExpiration

Avoid:

  Traceback (most recent call last):
    File "/.../pyvows/runner/gevent.py", line 104, in _run_setup_and_topic
      topic = topic_func(*topic_list)
    File "/.../vows/mongo_storage_vows.py", line 210, in topic
      storage.put(IMAGE_URL % 10, IMAGE_BYTES)
    File "/.../thumbor/storages/mongo_storage.py", line 39, in put
      if not self.context.server.security_key:
  AttributeError: 'NoneType' object has no attribute 'security_key'
Merge pull request #365 from wking/mongo-vow-get-nothing-server

vows.mongo_storage_vows: Set a server in GetNothingAfterExpiration
Merge pull request #364 from wking/remove-distribute

.travis.yml: Don't install distribute
CONTRIBUTING.md: Rename from CONTRIBUTING

Currently, GitHub renders the page as raw text.

[1]: https://github.com/thumbor/thumbor/blob/master/CONTRIBUTING
Bump minimum Tornado version to match setup.py

Catch up with 6d9d74b7 (Updating dependencies, including forked pexif,
2014-03-19).
test_requirements.txt: Float Tornado up to (but not including) 4.0

The current Tornado version is 4.0.2 (released 2014-09-11).  Instead
of being very conservative here, assume Tornado uses semantic
versioning [2] and would have bumped to 4.x earlier if they broke
backwards compatibility.  Folks who are skeptical of their local
Tornado can use the test suite to verify it, and we can blacklist any
versions that we know are bad.

It's possible that Thumbor's tests are compatible with the Tornado 4.x
API.  I haven't audited the tests to see what we use, or read over
Tornado's 4.0 release notes to see what changed.  If someone has time
to do that, and we're still compatible, I'd suggest making the upper
limit < 5.0.0.

[1]: https://pypi.python.org/pypi/tornado/4.0.2
[2]: http://semver.org/
.travis.yml: Use 2.7_with_system_site_packages

The Travis runs currently die with:

  Traceback (most recent call last):
    File "/home/travis/virtualenv/python2.7.8/lib/python2.7/site-packages/nose/loader.py", line 414, in loadTestsFromName
      addr.filename, addr.module)
    File "/home/travis/virtualenv/python2.7.8/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
      return self.importFromDir(dir_path, fqname)
    File "/home/travis/virtualenv/python2.7.8/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
      mod = load_module(part_fqname, fh, filename, desc)
    File "/home/travis/build/thumbor/thumbor/thumbor/integration_tests/__init__.py", line 3, in <module>
      from tornado.testing import AsyncHTTPTestCase
  ImportError: No module named tornado.testing

But we are installing Tornado.  This commit simplifies what we're
doing to try and get successful tests with less magic, dropping the
PYTHONPATH tweaks and removing sudo from 'make setup'.  The sudo had
been clearing the environment variables that setup the virtualenv and
giving us a system install.  Now that we can use both system and
virtuanlenv-local packages, we don't need it anymore.

Travis doesn't use system packages by default [1]:

> CI Environment uses separate virtualenv instances for each Python
> version. System Python is not used and should not be relied on. If
> you need to install Python packages, do it via pip and not apt.
>
> If you decide to use apt anyway, note that Python system packages
> only include Python 2.7 libraries on Ubuntu 12.04 LTS. This means
> that the packages installed from the repositories are not available
> in other virtualenvs even if you use the --system-site-packages
> option.

but 2.7 is fine for us, and it's easier than installing OpenCV by hand
(although there are some Conda packages).  Instead, use the
(undocumented?) _with_system_site_packages suffix mentioned by Donald
Stufft [2]:

> However there's a work around here which I actually think is a much
> nicer way of handling things.
> ...
> You can do:
>
>   language: python
>
>   python:
>     - "pypy"
>     - 2.6
>     - 2.7
>     - "2.7_with_system_site_packages"
>     - 3.2
>     - "3.2_with_system_site_packages"
>     - 3.3
>
> And get system site packages on the two Python versions it is
> supported on, and as a bonus you can test with and without system
> site packages for the same Python version.

[1]: http://docs.travis-ci.com/user/languages/python/#Travis-CI-Uses-Isolated-virtualenvs
[2]: https://github.com/travis-ci/travis-ci/issues/2219#issuecomment-41804942