version 1 of the user service, supporting get_current_user

as a result of the hackathon.

essentially only reference code is committed to the xblock dir
I don't understand why the code is like this: wouldn't the runtime simply create it's own UserService class with a get_current_user that it liked? Instead of making one of these and passing in a callable.