Change immutable bean superclass and override return types

See #24
Enable semi-immutable beans

See #24
Organize imports
Enable semi-immutable beans, handle generics properly

See #24
Enable semi-immutable beans, handle non-final immutable subclasses

See #24
Support partially final beans and immutable subclasses

This support is complex and not recommended, but sometimes necessary
Fixes #24
Support partially final beans and immutable subclasses

Add ReadOnlyBuildable property style for new approach
Fixes #24
Release v0.9.0