Gevent monkey patching must happen early to avoid "Exception KeyError in module threading" errors on shutdown

The current monkey patching only when the Server is instantiated means that gevent based servers will log errors like:
`Exception KeyError: KeyError(15566960,) in <module 'threading' from '/usr/lib64/python2.7/threading.pyc'> ignored`
when the server shuts down.

Previous attempted fixes (ie https://github.com/circus-tent/chaussette/pull/62) would cause gevent monkey patching to be run even when these were not the chosen backends.

This commit moves the gevent monkey patching to the main() function, after a check to see if the chosen backend is gevent based.