fix union type parsing in handler macros

there was a mistreatment of associativity of type options in macros.
test case was expanded so it's type is no logner trivial and failed with
previous implementation.
handler macros: recursive structures
macro handlers: pull in implicit handlers for ADT

if there are handlers in implicit scope for types used in ADT
they will be used, otherwise all handlers will be generated
Merge pull request #84 from edofic/macros

Macros: recursive structures support, union type bugfix, implicit handlers for ADT