Removed delayed init hack. Add test helper.

Don't merge. This is more of a discussion than anything. Some examples have been removed just for development purpose.

The idea is to remove delayed init and to provide Test helper class for developers to test the pipeline without starting netty.

BasicExampleApp.scala shows the two ways developers are suppose to use smoke.
TestSmoke.scala provides two helpers to help testing those two cases.