Abstract out 'aurPkg' and its ilk.

All Package instances now provide a 'pkg' function to find new
packages. This will be necessary for dependency management.
Quick commit before branching
Merge branch 'master' into abs

Conflicts:
	Aura/AUR.hs
`-As` package names are now bold
Fixed small bug with coloured `-As` output
Version bump - 1.6.0.1
Some documentation.
Merge branch 'master' into abs
Merge changes from upstream/abs

Some modifications:
- Lift 'buildable' to 'package' method on 'Package'.
- Export 'absSync', do not sync automatically on package lookup.
- Use directory structure rather than pacman for finding stuff
  in the ABS tree. This admittedly feels messy!
Abstract over 'package' function, hide details of specific packages.
Merge remote-tracking branch 'upstream/abs' into abs

Conflicts:
	Aura/Commands/A.hs
	Aura/Commands/M.hs
	Aura/Core.hs
	Aura/Dependencies.hs
	Aura/Install.hs
	Aura/Packages/ABS.hs
Re-instate searching and info commands for ABS.

Currently, description is not extracted from the PKGBUILD. This needs
to be done at some point.

Specific search and info against the ABS tree will be necessary for
trees which do not match the current repository head.
Remove an accidental backslash.
parsePkgBuild no longer requires a subsidiary helper.
Fetch description for PKGBUILD.

TODO: Currently, failures in extracting fields are handled in ABS,
but this means that the error messages are hard-coded. They need to
support multiple languages, which will either require passing in of
the settings object, or a rethink!
Add 'refresh' option to '-M'.

aura -My will now refresh the ABS tree. Additional options may be
carried out after refreshing the tree.

At present, the option to do a partial sync of the ABS tree has been
removed, though maybe this should be added back. Does this potentially
result in inconsistencies?
Implement 'ShowPkgBuild' option to ABS (-Mp).
Implement dependency display for ABS (-Md).

Also don't fail if the package doesn't have a description.
... but do write the 'no description' message in red.
Implement function to enable 'absSyncLocal'.
This will try to synchronise only the existing abs tree on a refresh.

However, I haven't enabled this as default or alternative functionality
yet, because I think it should possibly be more clever in terms of
deciding when to forget about syncing individual packages and just
fetch the whole tree, or specific repositories. Currently, a 'local'
sync on an existing tree will build up an extremely large command.
Implement an '--allsource' flag.

This option causes makepkg to generate complete source packages
for any built packages, as if using the '--allsource' option to
makepkg directly. Source packages are stored in /var/cache/aura/src.

This could potentially be useful for issue #20, although that would
need the other side as well - spotting that an old source package
exists and decompressing it for use when rebuilding.

There's also some bits of necessary support for invoking makepkg's
'-S' flag, which creates a source tarball suitable for upload to the
AUR, but I don't see this as especially useful for AURA, so at the
moment it's not complete.