Add some documentation.
Add some more documentation to a few things.
Abstract over SourcePackage for building.

SourcePackage now abstracts out the parts of AURPkg used for building
the packages, in preparation to introduce ABSPkg as another option.

References have been removed from Build.hs and Records.hs, which now
require only the contstraint 'SourcePackage a'. References remain
in Dependencies.hs, which has specific AUR functionality, and
Editing.hs, which only requires a constructor.

TODO:
- Add ABSPkg and related functionality for building.
- Work out dependency manangement when dealing with packages in ABS.
- Add the actual install commands.