Arrayspec and other fixes 

 - Addressing issue #40 : 
    * Reworked many parts of subtyping module
    * adding all visible names in the binding environment of constraints

 - Sound initialization of objects using class constructors

 - Adding a unique ID to each node of the AST - formerly nodes were distinguished by source span, which caused clashes.

 - Replaced several occasions of syb's `everywhere` with visitor passes

 - `conflateSubElt` only done after parsing 

 - Adding return statement to ALL void returning functions