Refactor

major refactoring. code compiles and unit tests still producing reasonable results.
still a few minor things to do.
closes #2
closes #3  (now everything in `susy::fake` namespace)