smpt mail queue plugin implemented
fix django-settings import
move lettuce.django import into enable() method of plugin
Canned step to create M2M model links
ReasonToFail object has no cause attribute when exception had no message defined

https://github.com/gabrielfalcao/lettuce/issues/384
lettuce smtp mail queue documentation added
added threading support for django httpd service
testing threading in httpd
reduce number of threads for travis
try .travis.yml fixes
Make the test server pluggable

This allows it to be replaced when required (i.e. bug #347). Also makes
server and django_url point to the implementation exposed by the
configured server.
Factor out basics of the server implementation

This allows other implementations of a server.

Refs #347
Implement DjangoServer

Refs #347
Fixes for integration tests
Add new 'kale' tests for testing the pluggable backend

Taken from code written by Alexey Kotlyarov <alexey@infoxchange.net.au>
Fix for integration tests
Update docstring
Document LETTUCE_USE_TEST_DATABASE
Add Django steps documentation
Don't Run Feature Hooks If No Feature Scenarios Run

Feature scenarios may not precluded from running because of their
tags or a filter specified using the --scenarios command line argument.
It may be the case that no scenario in a feature runs at all. Previously,
the before and after hooks would still run in that case. This can be
problematic, as the hooks may be used to perform expensive set up or tear
down steps, which would run pointlessly if the scenarios that depend on them
don't run.

Change the behaviour so that before and after feature hooks run only if
scenarios in that feature run.