Changed the behaviour of PUT /profile/<schema> so it creates a new profile type.

This isn't yet finished, we need to look at how profiles are created to ease this process.

I've also removed skipped tests where the skip is just a message that the route has been removed. This will make it easier to identify tests which are skipped due to bugs in the process.
Cleaned up a lot of the code from the previous commit.

I've also added an update method to the profiles. This should make it a lot easier for us to handle updates to profiles.