Separation of test framework

Hey @kkozmic

@jakeginnivan here, I have been pairing today @mwhelan on making ConventionTests more extensible and getting rid of the base classes (pulled out into ConventionTests.Framework).

https://github.com/mwhelan/ConventionTests/blob/686186517dff35c2a723b0e7bb40788c0e792fc7/ConventionTests.Tests/DefaultConventionTests.cs is an example of how you would use convention tests to verify your conventions.

There are a few upsides from this change

 - No reliance on any unit test framework, it makes ConventionTests a very simple and extensible library
 - Out of the box we could provide a bunch of useful conventions, and people can opt into using them with only a line or two of code
 - No base classes, so I am free to use my own base classes in my project.
 - We can write tests to test our conventions, which you can see above.

What do you think?