github registration listener refactoring + tests

As promised in #286 this PR moves registration listener from closure in `User\Module` to separate listener class. There is both unit and integration test case to assure that listener is attached and `registerViaProvider` event triggered in `ScnSocialAuth` module.

I still have to find a way how to update existing local user profile from actual GitHub data after login.

@Ocramius could you please provide code review?
there is no need to check first for ``null`` as ``instance of`` fails also on null values