Add support for BSD's stat command

This commit causes files.owner and files.group (and, notably,
not files.mode) operations to try the BSD flavor of stat if stat fails
with 'stat: illegal option'.  This allows the use of require.directory
on OS X.
Improve support for BSD's stat command

This commit causes files.mode operations to try the BSD flavor of stat
if stat fails with 'stat: illegal option'.  This allows the use of
require.file with a mode argument on OS X.
Add support for OS X's md5 utility

This change checks for LSB's md5sum utility and OS X's md5 utility (in
that order) and uses whichever it finds.
Use 64K progress dots for wget downloads
Speed up Node.js tests by caching downloads
Speed up Node.js compilation
Speed up Python tests by caching pip downloads
Make Debian package install less verbose
Abort if no MD5 utility can be found [#56]
Allow options when creating PostgreSQL users

Before this change, PostgreSQL users were created with cleartext
passwords and no options.  This change allows you to specify options
when a PostgreSQL user is created.  It does not allow you to require a
specific option on an existing user.
Add examples for options in Postgres user creation [#47]
Switch to keyword args for Postgres user creation [#52]
Added reload() and force_reload() service functions.
Added warnings about reload/force-reload support
missing fabtools.supervisor import in require.redis
simple smoke test for redis
Fix typos in documentation [#50]
Refactor tests
Optionally include/exclude fabfiles from functional tests
Optionally keep vagrant box up after running functional tests