Remove old Build class when using Build.pm

If two packages with Build.pm files were installed during the same panda
run (example: "panda install MIME::Base64 Auth::PAM::Simple"), the
second and subsequent packages would all fail to build, as the Build
class already existed when the Build.pm file attempted to create it.
Read from all state files we can find

Not just the first writable one we find. This (for example) allows a (root) install of
perl6+panda into /usr/local; along with some modules such as URI and
MIME::Base64. A user can then run 'panda install LWP::Simple' and will
not need to reinstall URI and MIME::Base64, because panda will now see
the modules installed in /usr/local
Don't read extra statefiles if doing site install

This could cause problems if there were modules installed in
/root/.perl6 for example. If we're doing a site install, all
dependents need to be in site as well.
Merge pull request #75 from retupmoca/master

Remove old Build class when using Build.pm
Merge pull request #76 from retupmoca/multistate

Read from all state files we can find
Allow non-ecosystem dependencies

If a module is installed, we can now use it as a dependency without
needing it in the ecosystem. This allows you to use panda to install
private modules that never see the ecosystem, or to test a set of
modules before adding them to the ecosystem.
Merge pull request #77 from retupmoca/master

Allow non-ecosystem dependencies
s/EXECUTABLE_NAME/EXECUTABLE/ (for GH #73)

This lets us use panda with a perl6 that isn't in the current path.
Merge pull request #78 from retupmoca/master

s/EXECUTABLE_NAME/EXECUTABLE/ (for GH #73)
Track change in $*VM name access
Merge pull request #81 from kanatohodets/master

Track change in $*VM name access
support web proxy via http_proxy env var
Merge pull request #83 from stmuk/master

support web proxy via http_proxy env var
optimize local-fetch by moving things out of the loop
Merge branch 'master' of github.com:tadzik/panda into eleven

Conflicts:
	bootstrap.pl