Perform strict and verbose validation of optional 'Roles.yaml' file

This patch ensures that puppet-classifier fails when it encounters errors in
'Roles.yaml' and that it emits useful error messages.  The previous behavior
was to swallow errors and hand over an empty manifest to Puppet. Matt correctly
noted that swallowing errors could lead to the removal of provisioned
configurations and was therefore unsafe.

Change-Id: If1c751625a972e94ab22b1671e36f78d3392b19f
git-fetch remote commits, but no more than once a week

This patch makes Vagrant call 'git fetch' if the last time remote commits have
been fetched was a week ago or more. A user may disable automatic git-fetch by
setting 'MWV_NO_UPDATE' in their environment or creating a 'no-update' file in
the repository root.

A follow-up commit will add a notice to the guest machine's MOTD if updates are
available. Note that 'git fetch' merely retrieves commits; it does not update
the local master.

Change-Id: I4a6529f3092e9dabb61ba75e6d8f29ca2e394c83