port to smlnj

- add CM files to use on SML/NJ.
- port unit tests by wrapping scripts with Test structure(but some tests of pickle would fail)