Mathematica code printer

Todo:
- [x] rename mcode to something (wolfram_code?)
- [ ] a better printer for Function's?
- [x] rebase