* Let users specify tasks directly under a Locust class, just as one would do it on a TaskSet class. These tasks will get the Locust instance as argument when executed.
* Removed Locust.task_set from the public API, and instead let users use either the tasks attribute or the @task decorator.
* Introduce a Locust.abstract boolean attribute. If it's set to True the Locust class is meant to be used as a base class, and users of that type can not be spawned directly from it.
Introduce global instance of Events() stored in locust.events which can be used to register event listeners at the module level of locustfiles.
Remove some unused imports.
This makes it easier for us to add new arguments to events in the future, with less risk of breaking people's code (as long as they've used a **kw wildcard argument in their event listeners)
As discussed in #83, removed HttpSession instantiation on the Locust.client attribute from base Locust class, and introduced new HttpLocust class with this functionality.
Added warning when trying to access the client attribute on a "bare" Locust instance. Updated documentation.