Adding descriptions and updating README.

Adding descriptions to each file in libuser describing what those files should
handle. Updating the README with high level guidelines and the reasoning behind
building the system.