Revive SplitFile pass.

This (kind of) reverts commit eaa43850ff7a7ae14467ecb358bc392aef534d8d.

We still need to be able to specify different PPCG flags for
different functions that are originally in a single file, so we revive
the SplitFile pass.

The pass has been updated as follows over the dropped original:

 - Include printing of types.  Not sure how this was handled in the
   original pass.
 - Rename the overrided function "execute" into "walkProgram".
 - Only print functions that have a body and are not static.
 - Build a call graph, to include all called functions in the new
   files.

Change-Id: I4c152ce7fdbcf89f91a4990222c762d70b7ee86b
Corrected example after Function constructor changed

Change-Id: Ib3be694f998f59e2899172ee6f1ecc36a1351404
Link math library at the end in the testsuite.

Change-Id: Ic463c506be13343f6f96663dc7e0e7cf58b09b6a
Print summary functions first.

Change-Id: Ida627a4e30e0218e36ef1f1b2f24ec4656410433
Preserve const static for arrays with constant size.

Change-Id: I433e85d33105159960039f6bc73fb0eeaa152cc4
Delete legacy tests.

Change-Id: Id29145ce5e23a29035ae9c34b50c94cb212d2895
Handle the arrays argument qualifiers.

Change-Id: Ie224cb9d71c5493fe276b1a1230268de19da2b21
Use _Bool instead of bool.

Change-Id: I44733da9962e29170c07bb06908452d8916fb8cf
Support user-defined types in cast expressions.

Change-Id: Id2bfaf822f8547d219728744f01ecaaac523ed22
Added m4 scripts for Java and Scala
At least it compiles
support out-of-tree builds
Cleanup
Allow pencil-optimizer to run from builddir
Merge branch 'master' of https://github.com/carpproject/pencil

Conflicts:
	testsuite/lib/common.exp