Move to an ErrorCollector model instead of exceptions

Change-Id: Id71132ff4cb38a461ecf81c83267d17ae93b2588
Show more information in test harness output

Change-Id: Ib69cbad03a76c5b2eec97899c7db433c8b6c1e3b
Create type mapping information

Change-Id: I7a3705144fee3a984d9cb101daa2e4171f55161f
Override identifier ToString method

Change-Id: I1535f415be37d99e11c023f5607ca621d1f2622c
Create mechanism for ensuring types

Change-Id: I722ea154f6e93eeb9541d089d21586e43455987c
Adjust environment priority sorting

Change-Id: If9e635e2c6de48e6618f811d006d39815843930e
Add mechanism to make demands on type

Change-Id: Ifa27b44d81c3d799936d6b5751cf22db3e2bb66e
Allow a floating point modulus

If Swift does it, it can't be an insanely bad idea, right? ;-)

Change-Id: I067cbb2a9d13bd355cac5701f229840f8de1e40a