Begin publish/subscribe framework

Adding support for application capabilities
Discard incomplete messages after a while
Adding gitignore