Merge pull request #16 from anton-ryzhov/component.json

Add support of component.json
Reentrant lock based on underlying object
Merge pull request #21 from anton-ryzhov/update_lock

Reentrant lock based on underlying object
Add initial changelog