organizing the repository

moving tests into a test directory and gitshelve into a src directory.

This is useful for sonar since it is not analyzing all of virtualenv