Refactor Github controller and tests

Remove the mocking parts in the Github controller and re-use them in
test_unit.py. Also refactor the tests, because they sometimes only tested if the
mock was working.

The functional test "test_userdata_github" has been removed to. It was using a
password-based authentication, that was only possible because of the mocked out
Github backend. This is a misleading test because we never ask for password and
username from Github users.

Change-Id: I8db022f114f678f381d6ceb8324379fdea114f05
Merge "Refactor Github controller and tests"