Ported changes from the latest sharpen snapshot (#7)

Ported changes from the latest sharpen snapshot as committed in 8ab2263525c40b1967fec5021cd74f72fc35890d. This is a work in progress commit.

Current Status : 
1. All of the functional classes except Router related classes were ported.
2. TestPuller has been tested and passed.
3. There are about 25 unit test classes that will need to be ported.