add deployment to Amazon s3

* use the ruby-s3cmd gem and its sync command

The s3 configuration is controlled by the profiles' deploy section which must have `type: s3` and a `bucket` corresponding to the S3 bucket to deploy to.
* For example

    profiles:
      staging:
        deploy:
          type: s3
          bucket: s3://staging.jmesnil.net/
      production:
        deploy:
          type: s3
          bucket: s3://jmesnil.net/
Merge pull request #206 from jmesnil/s3_deploy

add s3 deployment
Move template rendering to use Tilt

All engines supported by Tilt are now rendered by the Tilt Template.
The Engines supported by Awestruct but not Tilt as been rewritten to
use the Tilt Template interface (except cli based ones).

Add support for default-site.yml, loaded as default values for a site.

Adding special options to Tilt backing Engines can be done by either:
 * defining options based on file extension under site
    e.g. site.haml.value: aa
 * definind options based on engine name
    e.g. Tilt::RedClothTemplate, site.redcloth.value: aa

Moved xx_handler_spec.rb over to use a common shared base handler.