macros properly handle empty case classes

warning: this means one empty parameter list. case classes without
parameter lists are deprecated and not supported by macros
macros handle singletons
new macro option: AllImplementations
Merge pull request #92 from edofic/macros

more macro magic