new extension API.
update new-extension api.
update test for new-extension api.
add middleware function, change Extension api.
update submodules for 0.16.0.
update examples for 0.16.0.
update CHANGELOG.md.
Merge branch 'new-extension' into develop