Adjust namespaces

Before this pull request, the namespaces in Fixie.dll were confusing.  It was not clear which types were meant for Fixie's internal use, which were intended for typical usage, which were intended for people creating their own runners, etc.

With this pull request, we have the following rule of thumb:

1. Typical users need to be able to define custom conventions. The root namespace, `Fixie`, is meant for typical users.
2. Types which make the Convention class API fluent live in `Fixie.Conventions`.
3. Types intended for Fixie's internal use live in `Fixie.Internal`.  Use these at your own risk.
4. Types intended for people creating their own runners live in `Fixie.Execution`.