All transformations relying on Shrink converted to generic SSA_TRANSFORM signature.
Generic SSA signature updated to accomodate functors that depend on RESTORE
Removed old signatures
Generic signature implemented for SSA2 passes
Generic signature for XML passes implemented
Generic signature for RSSA passes implemented.
Update build scripts for new target directory

In commit d7f12621565fbe60a7d369215a73f4a5b3610312 (svn r7392), the
files for each build target were relocated to build/lib/targets, so that
all target-specific files are kept in one place.

This change updates the scripts which manage adding new targets and
building cross-compiled regression tests, since they are sensitive to
the target directory structure.
Update regression suite for new assembly suffix

As of commit 1dfc86574fb41ae24ceb23d624f5606be661a9b6 (SVN r7098), MLton
produces assembly files with the '.s' extension, rather than '.S', since
no preprocessing needs to be done one them.

This change updates the regression test script to look for '.s' files in
addition to '.S' files when performing the second half of building a
cross-compiled regression test suite on the target machine.
Remove checks for integer division conformance in Word.c

Now that C99 specifies integer division more precisely,
don't worry about it in Word.c.
Merge pull request #12 from agoode/master

Remove checks for integer division conformance in Word.c

Fixes #11.
Add support for arm64 (aarch64)
Merge pull request #14 from agoode/master

Add support for arm64 (aarch64)
Merge pull request #13 from caltry/fix-cross-build

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>`).
Refresh SML/NJ 110.73 libraries.
Update to SML/NJ 110.74 libraries.
Update to SML/NJ 110.75 libraries.
Merge pull request #16 from MatthewFluet/smlnj-110.75-libraries

Refresh and update SML/NJ libraries.
Generated .c, .s, and .o files should adopt non-.exe suffixes of explicit '-output' argument.

Commits 33d587f and 5b12083 (SVN r6992 and r7143) arranged for
generated .c, .s, and .o files that were kept to be named in
accordance with the '-output' argument; in particular, if the
'-output' argument directed the final executable to a directory other
than the current directory, then generated .c, .s, and .o files that
were kept would be created in the '-output' argument directory.

However, the suffix of the '-output' argument was stripped to form the
basename for generated .c, .s, and .o files.  The motivating example
in commit 33d587f (SVN r6992) was "-output bar/foo.exe", where it is
reasonable to strip the .exe extension and generate "bar/foo.0.c",
"bar/foo.1.s", etc.

Unfortunately, this approach could lead to name conflicts:
  mlton -output foo.1 -keep g foo.1.sml
and
  mlton -output foo.2 -keep g foo.2.sml
Both commands would generate "foo.0.c", "foo.1.s", etc.  In
particular, these name conflicts arise when the 'bin/regression'
script is used for cross compiling (where
"mlton -target $crossTarget -stop g -output $f" is used to perform the
SML compilation on the host machine, while "gcc $f.[0-9].[csS]" is
used to perform the C/assembly compilation on the target machine).

Finally, the behavior is somewhat confusing, as
  mlton -keep g foo.1.sml
and
  mlton -keep g foo.2.sml
would generate "foo.1.0.c", "foo.1.1.s", etc. and "foo.2.0.c",
"foo.2.1.s", etc.

This commit addresses the issue by only stripping .exe extensions from
the '-output' argument for use as the basename for generated .c, .s,
and .o files.

Fixes #15.
Updates to Makefile due to SVN to Git repository conversion.

Remove both .ignore and .gitignore files from to-be-installed directories.

Remove/exclude .git directory (rather than .svn directories) for packaging.
Updates to Debian packaging rules due to SVN to Git repository conversion.

Remove/exclude .git directory (rather than .svn directories) for packaging.