Make Pusher thread safe

Wrapped logger creation in a mutex to avoid multiple threads potentially creating two loggers.

Storing default client in a Thread.current variable so each thread gets its own personal copy.

Moved the ENV['PUSHER_URL'] check into the creation of the default client since multiple clients may be created.