Meganuke

DO NOT MERGE YET!!!
Yes, the design goal is to NOT use sudo during installation of software, and I have made great strides towards that goal, but there are still stragglers and I don't really know how to do it any other way. Examples of this are problem are `haskell`, `erlang`, and others that seem to be setup/installed via `apt-get`