Merge pull request #129 from protin2art/devel-wycc

Devel wycc
Minor tweaks.
WYBS: bug fix for printing syntax errors.
WYCS: working on rule to infer list lengths are non-negative.
WYC: minor fix to parsing so that requires, ensures don't have to be on same line as function decl.
WYC: Working torward "mixed name types".
TESTING: fixed a couple of broken test cases.
WYC: added support for parsing mixed identifier/function types.
WYIL: adopted an alternative approach to dealing with negative collections.
WYONE: ok, so I changed around the inequalities to correctly implement the LessThanEq case without using OR.  However, this doesn't quite work correctly because it needs to infer equality.  Still, it does appear to work quite a bit faster.
WYCS: putting in a fix for inferring equality from inequality.
Added more of the native routines from the standard library
Added code for comparing rational numbers.
Fixed code for converting to unions (esp. wrt recursive types)
Changed test harness to allow multiple versions of the output (.sysout*)
(Don't remember how many tests now pass, but none fail or give errors)
Merge https://github.com/DavePearce/Whiley into devel-wycc
Minor change made after pulling.
TESTING: added yet another test case.
WYCS: continued adding rules for list append.
WYCS: improved theory of lists re: append.
TESTING: added further test cases for list append.
TESTING: fixed a broken test case.
TESTING: fixed another broken test case.
Implemented wycc_cow_map.
Fixed typo in clib/Makefile
Changed builder to bump the reference count on arguments at routine entry.
Change wycc_deref_box to take a flag to optionally skip Panic for dead references.
found and (likely) fixed a race condition in the test harness - NOT!!!!.
SetComprehension_Valid_9.sysout does not match the output
JUnit results: 2 errors, 0 failures, 52 ignored, out of 460.
Yield: 406 tests passing.