First working draft of transactions. However, implementing the
meta-language that would cover more then just package management
will be harder than I thought.
In the alpha only package-management related commands will be working
and the features and syntax will change in beta.