Add support for the encoding key to write_files

From the updated documentation included in this commit, this is now supported:

- **encoding**: The encoding of the data in content. Supported encoding types are:
    - **b64, base64**: Base64 encoded content
    - **gz, gzip**: gzip encoded content, for use with the !!binary tag
    - **gz+b64, gz+base64, gzip+b64, gzip+base64**: Base64 encoded gzip content

```yaml
#cloud-config
write_files:
  - path: /tmp/like_this
    permissions: 0644
    owner: root
    encoding: gzip
    content: !!binary |
      H4sIAKgdh1QAAwtITM5WyK1USMqvUCjPLMlQSMssS1VIya9KzVPIySwszS9SyCpNLwYARQFQ5CcAAAA=
  - path: /tmp/or_like_this
    permissions: 0644
    owner: root
    encoding: gzip+base64
    content: |
      H4sIAKgdh1QAAwtITM5WyK1USMqvUCjPLMlQSMssS1VIya9KzVPIySwszS9SyCpNLwYARQFQ5CcAAAA=
  - path: /tmp/todolist
    permissions: 0644
    owner: root
    encoding: base64
    content: |
      UGFjayBteSBib3ggd2l0aCBmaXZlIGRvemVuIGxpcXVvciBqdWdz
```

Note: This PR also bumps the version of yaml.v1 in Godeps to support the transparent decoding of the !!binary tag

It could be UTF-8 or UTF-16 according to the YAML spec.  Parsers are supposed to handle both

http://yaml.org/spec/current.html#id2513364  

I'm not 100% clear on what go yaml.v1 does / does not handle.  Probably safe to say utf-8 in the docs...