Extensions

This PR is not 100% finished but its getting there. the test need some work still. The extension.rst doc should tell you what this is about.