Add unicode support

Non ASCII characters (e.g €, Δ) in unicode strings would cause API.send() to crash like so:

```python
>>> message = clockwork.SMS('441234567890',u'€')
>>> response = api.send(message)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/chris/anaconda/lib/python2.7/site-packages/clockwork/clockwork.py", line 81, in send
    msg = self.__build_sms_data(m)
  File "/Users/chris/anaconda/lib/python2.7/site-packages/clockwork/clockwork.py", line 148, in __build_sms_data
    attributes[attributes_to_translate[attr]] = str(val_to_use)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u20ac' in position 0: ordinal not in range(128)
```
This patch adds support of unicode strings, and ensures output XML is encoded as UTF-8.

A test is provided for the whole [GSM Character Set](http://www.clockworksms.com/doc/reference/faqs/gsm-character-set/), with the exception of the escape and form feed ("\f") characters which break LXML on my machine with the error:
```
ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL bytes or control characters
```

The following image shows the character set on my Nexus 5, which seems to be correct.
![screenshot](https://cloud.githubusercontent.com/assets/3956920/2940597/9bc97c3c-d987-11e3-9450-88d0f3d263fa.png)