Cross compilation fixes

While working through http://www.mlton.org/PortingMLton, I ran into a couple of problems with adding targets and running the regression test suite. The problems were related to changes in the directory structure of `build/` and the suffixes used for generated assembly files.

This PR fixes:

- Adding a new target to MLton (via bin/add-cross).
- Running a cross-compiled regression suite (via bin/regression -run-only <target>).

When merging in these changes, please make the following updates to http://www.mlton.org/PortingMLton:

- Section Bootstrap, step 3: substitute `build/lib` with `build/lib/targets/`.
- Section Bootstrap, step 3: don't rm `target-map`; it is no longer built. (removed in d7f12621565fbe60a7d369215a73f4a5b3610312)
- Section Bootstrap, step 4: substitute `build/lib/self` with `build/lib/targets/self` in both calls to gcc.
- Section Bootstrap, step 4: substitute `[cS]` with `[csS]` or `[cs]`.