Added support for Option to Macros

The encode and decode macros now support the Option type.

This closes #144.
I have replaced the customer thrift struct in test with the same struct used for the humbug tests.