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

...etter support Options
There is no support for options in the Fields one yet, so no tests. I've done setter and converter only here. so it should be strictly better than where we were but not complete coverage