compiler: add flags field to all definition classes
Add flags to IR data structures in compiler and VM
compiler: add privacy flags to lexer, parser, AST
compiler: rename flags to attributes in AST and below
compiler: private working, protected almost working
compiler: create new DefnInfo objects when inheriting

Also track original scope id (inheritedScopeId) and inheritance depth
(inheritanceDepth) in there. This simplifies NameInfo and will make it
possible to implement protected.
compiler: `protected` works now
Merge branch 'flags'