Added support for backups/restores using S3.

This is related to Issue #29 and takes into account the implementation details mentioned there. 

**Usage**

*Export*
```
curl -XPOST 'localhost:9200/test_index/_export/s3?target=/tmp/test_index.tar.gz&s3path=/path/in/bucket/test_index.tar.gz&s3bucket=bucketname&accesskey=XXXX&secretkey=XXXX'
```
*Import*
```
curl -XPOST 'localhost:9200/test_index/_import/s3?target=/tmp/test_index.tar.gz&s3path=/path/in/bucket/test_index.tar.gz&s3bucket=bucketname&accesskey=XXXX&secretkey=XXXX'
```

**Details**

* If the aws credentials are not provided in the request then the DefaultAWSCredentialsProviderChain is used. (this effectively means that the credentials are automatically delivered through the Amazon EC2 metadata service when knapsack is running on an EC2 instance)

* On a successful upload the locally exported archive gets deleted. 

* plugin.xml adds all the required dependencies but this could be refactored to have multiple assemblies