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

...etter support Options
also the `Option[Option[Int]]` case comes up here. We should have a test to make sure that does not work.