Add shared contexts

@tlunter Added `shared-contexts`, which can be used using `include-context`. Shared contexts are shared by using a package global hash, which I'm thinking might be a good way to store all contexts.