Fix the Change School test

Stop ignoring the test.
In order to account for some delays in loading added some sleep / spin to FeatureContext::accessToSchool to ensure it doesn’t give up too soon.
Use a spinning xpath selector for clicking on tabs.
Wait for permissions to be loaded before attempting to change permissions.
Add FeatureContext:: findXpathElement - makes the behat runs less fragile by searching for elements using path
and dying gracefully when they are not found in a timeout.
Merge pull request #567 from jrjohnson/fixchangeschooltest

Fix the Change School test
Add vagrant-cachier plugin to Vagrantfile to speed up apt
Bind forwarded ports to localhost

This prevents public access to the vagrant VM.
NFS for cache

Use ifs for vagrant package cache
Combine Puppet Directories

Combine the two puppet directories
Update and Upgrade first

To ensure our development environment is up to date upgrade all
packages.
Set a FQDN

Use vagrant to set a fully qualified domain name as the hostname, it
makes puppet happy.
Switch to pupetlabs mysql

Change to puppet support module for managing mysql database and use it
to create initial users.
Use puppet labs apache

Using supported puppet module to configure apache.
Fix mysql password in puppet
Add submodule details to behat README
Fix submodules

Travis doesn’t like ssh submodules, so change them to https instead.
Merge pull request #569 from jrjohnson/vagrantchanges

Updates for Vagrant