Refactor

#### Problem

Thought that this gem could do with some housekeeping :surfer: 

#### Solution

- [x] Refactor [crimp.rb](https://github.com/BBC-News/crimp/blob/master/lib/crimp.rb).
- [x] Refactor [crimp_spec.rb](https://github.com/BBC-News/crimp/blob/master/spec/crimp_spec.rb).
- [x] Add basic migration tests.
- [x] Add further migration tests for all types.
- [x] Create a dedicated migration spec.

##### Note

Migration tests were added to make sure that the **MD5** hashes generated remain the same version-to-version. 

![bird.gif](http://media.giphy.com/media/jb0V0FI1iLQWs/giphy.gif)