revamping function syntax
  -- also fixes object contracts to remove the hashrockets
fixes up tests to reflect addition of new function contract syntax
  -- arrays use ellipses to indicate 'arbitrarily many of X' contracts
  -- objects use colon between key and value (no more hashrocket)
splits up the tests to improve performance at expansion time
adds a simple shell script to expand a particular test file, removes old test.js