add template api to dbsake.util

- this provides a simple interface to render a tempita template
import template module in dbsake.util by default
add 'escape' to template default namespace
add common sandbox api functions in common.py
add datasource loading functions in datasource.py

- this is mean to populate a mysql sandbox datadir with data from
  a tarball or sql backup
merge download.py / tarball.py into distribution.py
tweak my.sandbox.cnf

- var: mysql_user -> system_user (user mysqld should run as if started as root)
- add tmpdir var instead of assuming relative to sandbox root
- always use {{socket}} instead of sometimes assuming socket is relative to
  datadir
refactor sandbox/util

- the templating functions have been moved to dbsake.util.template
- bootstrapping and my.cnf generation has been moved to sandbox/common.py
- move stream proxy and progress bar functionality into util.py
  (was in download.py)
cleanup main sandbox command now that is it is more api driven
add format_filesize method to dbsake.util

- this formats an integer size of bytes into a human readable string
fix syntax error in dbsake.util.template
Merge branch 'develop' into feature/sandbox_refactoring
add pretty output for mysql-sandbox
cleanup mysql distribution deploy api significantly

- now support caching downloads (controlled via --cache-policy)
- always use a progress bar if sys.stderr is a tty if either
  deploying from a local tarball or via a downloaded tarball
  (cached or streamed)
- add more logging output detailing what is being done
- add timing information for all potentially slow steps
add bootstrapping to dbsake.mysql.sandbox.common

- this was previous in the util module
add logging message when preloading sandbox data
tweak how dbsake.util gets imported in sandbox.util
update sandbox.sh

- template now requires passing in 'distribution' - a MySQLDistribution
  instance where various cli paths are read from
- added alias 'mysql' for the shell action
- added 'mysqldump' shell action to run mysqldump against the
  sandbox
- Now additional command line arguments to "sandbox.sh start [options]"
  will be passed directly to mysqld_safe.  This can be used to simply
  enable listening on TCP:
    ./sandbox.sh start --skip-networking=0 --port=3306
  startup will fail if options are invalid or if they conflict with
  the existing instance.
cleanup logging

- suppress logging to sarge by default
- avoid using basicConfig for now
Merge branch 'feature/sandbox_refactoring' into develop