transmorgify: generic option_transmogrify

option_transmogrify should now work for all boost::optional<T>
tested with std::string and nix::Section
PySection: properties 'parent' and 'link'

parent and link return None if not set
link accepts None and Section as value
Merge pull request #9 from stoewer/metadata

Section: link and parent accept and return None

Cool<T>!