Fix errors while developing.

This is mainly due to things not being implemented yet.
Refactor User into seperate structure.

This makes sense because we're likely going to have to perform some
other kind of operations on the User itself especially with the registry
and using GitHub.
Add registry package for API access.