Add props files to manage the solution

1. baseconfig.props used to configure some base configuration.
2. outpu.props used to configure where put the out put files.
3. Add the props files to projects.
Implement smart pointer

1. StrongPtr simultaneously manage DaulReference and Object pointer.
2. The WeakPtr as well.
3. This module has a weakness of synchronization under multi thread
environment. Especially when convert WeakPtr to StrongPtr.