Abstraction over callable constructors and value constructors

no type hierarchy

- `ConstructorDeclaration`
  - `NestableDeclaration`
    - `AnnotatedDeclaration`
      - `Annotated`
      - `Declaration`
    - `TypedDeclaration`

- `ConstructorDeclaration` of
  - `CallableConstructorDeclaration`
  - `ValueConstructorDeclaration`

Inherited Attributes
Attributes inherited from: `Object` `hash`, `string`
Attributes inherited from: `Declaration` `name`, `qualifiedName`
Attributes inherited from: `NestableDeclaration` `actual`, `container`, `containingModule`, `containingPackage`, `default`, `formal`, `shared`, `toplevel`
Attributes inherited from: `TypedDeclaration` `openType`

Inherited Methods
Methods inherited from: `Object` `equals()`
Methods inherited from: `Annotated` `annotated()`
Methods inherited from: `AnnotatedDeclaration` `annotations()`