Added support for Option to Macros

The encode and decode macros now support the Option type.

This closes #144.
I would love to, but it is non trivial, due to the fact that all the types such as `Type` are actually in `c.universe` so you have to pass the context around but even that is not enough.