Refactor around the macro definitions into 3 files. Both converter and s...

...etter support Options
should we make a static method for these three lines? It is repeated in several places.

`def getCaseAccessors(t: Type): Seq[MethodSymbol]`