Renamed LocalContainer to LocalDeclaration to make it clearer ceylon/ceylon-compiler#162

Also added a qualifier to restore it in the model loader
Added Setter model annotation to be able to find the getter class ceylon/ceylon-compiler#162
Added LocalDeclarations model annotation to list all the local types contained in a Java class ceylon/ceylon-compiler#162
Make Attribute model annotation point to the getter class if any ceylon/ceylon-compiler#162
Added Callable$impl now that the model loader checks for the existence of companion classes ceylon/ceylon-compiler#162
Array: added `@Ignore` to private constructor ceylon/ceylon-compiler#162

Because the typechecker doesn't know how to deal with overloads and private constructors in the language module.
It ignores the signature, because it uses Unit.getLanguageModuleDeclaration, and so it would get constructors
as abstractions even when there's a single shared constructor.
Metamodel: outsource equals/hashcode for every declaration and care about qualifiers #260
Metamodel: made SetterDeclaration a NestableDeclaration #260

Since they can be containers of local declarations
Metamodel: made setter instantiation lazy to resolve circularity issues #260
Added FunctionOrValueInterface to represent a TypedDeclaration qualifying type, and added TypeDescriptor.functionOrValue for similar #204
Metamodel: ValueDeclaration: setter is now optional, which makes sense for immutable values #260
added test assert messages
Added back `@LocalContainer` for interfaces we pull down to the toplevel ceylon/ceylon-compiler#162
import cleanup
TypeDescriptor: now using AssertionError #204