Merge pull request #1978 from 9rnsr/multi_inv

Issue 6453 - Allow multiple invariant per struct/class
Allow shared/synchronized invariants

But mixing non-shared/shared/synchronized is currently rejected.