Updates and fixes in CLS

Featuring:
- New keyword `origin` for difference between self[cloned] and self[origin]
- Octal literal change from 0755 format to 0o755 format, improved readability
- Edited syntax of dictionary literals to allow only simple expressions as keys in the pairings, keeping id as the key in alternative syntax (as the key is then Symbol instance)
- Adding Cloned types in addition to singleton types (object.cloned.type to represent it, nil and all values cloned from it)
- Adding a note to literal-based singleton type
- Constructor refinements based on good learned stuff from Apple’s Swift (mainly introducing difference between designated constructors and convenience constructors)
- Allowing constructors (and clone constructors) to modify immutable ivars
- Also edits to clone constructors
- adding e as? T in typed expressions as an exception-safer version