Running the API test suite requires two sessions

As per issue #3, the README is a little unclear about how the API test
suite gets run. This change explains the procedure more clearly.
Merge pull request #4 from talexb/docUpdate-2013-0729

Running the API test suite requires two sessions
Don't remount the special vagrant dirs
Fix directories for the api test suite
Make a directory to encapsulate provisoning
Set up dirs to break out before/after puppet scripts

to help clean up the main provisioner and make testing easier.
Move resolv.conf fix to a separate script
Move directory permission overrides to separate script
Auto-install prereqs added since the last base box build
Start the vagrant user with the right perl

to avoid confusion and an unnecessary manual command.
Bind-mount the whole api/var dir

fixes gh-7.
Add 02packages to list of files for partial CPAN download.
Ensure CPAN::Changes is installed at provision time
Update README with VirtualBox config info

This documents some VirtualBox settings that may be useful to anyone
setting up or configuring a VM that will be used for metacpan
development.

Also, a duplicate 'To edit and test' heading was removed.
Move dir perm function to a separate file
Work harder to ensure metacpan or vagrant can use api

Ideally the 'metacpan' user would be used,
but because of the previously discovered issue in CPAN::Faker
it's much easier to be able to run the test suite as 'vagrant'
but the service will still run as 'metacpan'
so try to make it usable by both.
Prepare repos for carton installation

so we can more easily play with that
Create 'local' dir if required.
Merge pull request #8 from talexb/docUpdate-2013-0801

Update README with VirtualBox config info
Install Carp::Always to help with debugging