Handled EmailReference

This pull request handles the EmailReference pointer message which has been described in #4.
The signature of this function is `Blob.CloudBlockBlob -> string`. However, the entire point of putting email contents in a blob is that it's likely to be a complete *archive*. Although there may be an exceptional case where the message itself exceeds 64 kB, the most likely scenario is when the email contains one or more attachments.

The purpose of putting a zip archive in in a BLOB, instead of simply writing the message in raw XML to the blob, is to define writing and deletion of an entire archive as a single operation that either completes or fails in its entirety. Keep in mind that Azure Storage doesn't support distributed transactions, so it's important to design the system around single, coarse-grained operations.

A hypothetical `decompressGZip` function should probably have a signature like this:

```F#
type Attachment = {
    Content : byte array
    MimeType : string }    

type EmailData = {
    From : Address
    To : Address array
    Subject : string
    Body : string
    Attachments : Attachment list }

decompressGZip : Blob.CloudBlockBlob -> EmailData
```

Notice that I added the `Attachments` field to `EmailData`.