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

...etter support Options
I'm confused, what is preventing something like:

```scala
def test[T: IsCaseClass](t: T): Any = Macros.toFields[T]
```
Which compiled before, but would give, I think, and empty Fields instance here.