Remove logbook and replace it with logging.

This reverts commit 1ab8c19696cb6b437729401640d00fd682e96b27 and
reintroduces all changes made by @dstufft.

Still, it needs more patches to reeanble the default log-to-console
behaviour.  See #121.
Merge branch 'master' into remove-logbook
ended_at time is now saved when job is finished
Only configure logging handlers if not already present.
Removed __main__ that was accidentally added to rqworker script.
Add .env.fish, for fish lovers.
Don't silently fail when unpickling.

When a pickled job string can't be unpickled because some required
module isn't loadable, this leads to an `UnpickleError` in the worker
(not in the horse).

Currently we just assume "garbage" in the job's data field, and silently
ignore it.

This is bad.

Really bad.

Because it avoids the normal exception handling mechanism that RQ has.

Historically, this "feature" was introduced to ignore any invalid pickle
data ("bad strings") on queues, and go on. However, we must assume data
inside `job.data` to be valid pickle data.

While an invalid _format_ of pickle data (e.g. the string "blablah"
isn't valid) leads to unpickle errors, unpickling errors will also occur
when the job can't be validly constructed in memory for other reasons,
like being unable to load a specific class.

Django is a good example of this: try submitting jobs that use
`django.conf.settings` while the `DJANGO_SETTINGS_MODULE` env var isn't
set. Currently, RQ workers will drop these jobs and dismiss them like
any non-valid pickle data. You won't be notified.

This patch changes RQ's behaviour to never ignore invalid string data on
any queue and _always_ handle these errors explicitly (but without
bringing the main loop down, of course).
Add release notes.
Have Worker.work() setup logging.

Basically, I don't want to enforce users to configure _any_ logging
stack when writing a basic worker, like this:

    from rq import Worker, Queue, Connection

    with Connection():
        q = Queue()
        w = Worker([q])
        w.work(burst=True)

In case you want to disable logging altogether, you can configure your
logging stack to do so.
Merge branch 'selwin-remove-logbook'

Conflicts:
	rq/utils.py
	rq/worker.py
	setup.cfg
	setup.py
Fix position of changelog entry.
Release 0.3.3.
Bump to new development version.
Include a copy of dictConfig in RQ, for Python 2.6 compat.
Avoid new-style classes under Python 2.6.

Little ugly fix, required because Python 2.6's logging uses old-style
classes.  Thanks for finding this one, @deferraz.
Promote to 'beta' stage.

This should've been done on 0.3.0 already, actually.
Bump version to 0.3.4.
Prepare for 0.3.5.
Merge branch 'vierja-ended_time'
Update changelog.