Add swift driver auditor checks

These checks will scan the kernel log for typical drive failure errors,
and if one is found, it will unmount the offending drive. We will run
this on an hourly cron.
Add mounted drive check

Make sure that our swift drives are always mounted. If not, fire off an
alert as we will want to know about that.
Make sure all processes are started and checked

Used to be that we would just let swift handle the bringup of its
services. But, we want to be sure that all services are started so
that we can check them with sensu.
Add a hwraid task to common

We would like to pull in RAID clients that we care about.  Our vendors
so far seem to be LSI and 3Ware.n Thus, install these clients.
Give vagrant swiftnodes more memory

Having a bit more memory for each of our swiftnodes helps.
Add tunnel_types variable to Vagrant defaults

If this variable is not defined, it will break an ansible run.
Create an ursula_env_path default variable

There are times where we may want to directly reference the environment
being used with ursula. For instance, we may want to copy environment-
specific files to a host.  Therefore, "namespace" ENV to URSULA_ENV and
set this as a variable in defaults.yml
Update swift_disk to use UUID and not device name

Using a device name does not guard us against devices possibly getting
re-enumerated as would be the case if a disk were failed out on the
RAID card and then re-introduced. Using a UUID in the fstab will
protect against that.
Augment the number of swift checks we do

Add checks for unmounted drives and running service processes
refactor sensu checks and start services

Originally wanted to have the sensu checks attached to the specific
swift role, but that doesnt really work, so put the checks in the
monitoring playbook. This is something that can be refactored later
Build rings with swifttool over ansible

Pivoting from using ansible to build the ring, to using swifttool: a
fabric-based tool. The reason for this is that we need something a bit
more complex than what is really reasonable in ansible. We need:
- ring devices weighted by size
- ring metadata as device serial number
- built on one host and distributed to other hosts
- support for complex arrangements of zones and devices
Merge pull request #301 from craigtracey/swiftchecks

Some more Swift modifications