ZK-2270: Enables registering concrete richlets

A concrete richlet implementation should be put directly to a map. 

It fixes 6771459246382e0d4f52c3b6da35e800a30ce8a0
ZK-2272: Remove richlets during the runtime

It is possible to add richlets during runtime, but cannot be removed.

It can be used in dynamic environments such as an OSGi container etc.
where richlets can be added or removed during the application lifecycle.
New richlet has to wait after the previous one is removed

In certain situations the other thread may instancing the richlet while
the other thread is trying to replace it with the new one.

The first thread has to wait the other thread to finish construction of
the previous richlet and then it can replace it with the new one.
New richlet mapping can be added only if associated richlet exists

It is possible the richlet gone between checking if it exists and adding
the new mapping, so the checking and adding the mapping must be
synchronized.
ZK-2272: updates release notes
Merge branch 'zk-2272' of https://github.com/mkrizmanic/zk
Merge branch 'master' of github.com:zkoss/zk