Restructure, refactor, and document

Move some functions around and group them in the actual high level steps
that occur, in the right order.

Add a comment-doc for each major function.

Fix some edge-case bugs around upgrades, ignores, and error conditions.
Add an undocumented --silent option

This option will silence all makepkg output by adding --noconfirm and
redirecting stdout/err of the build process.

This is really only useful while developing so I can hide some of the
noise to more clearly see aurget's own output -- hence, it's going in as
undocumented.