Shared specs

Minitest allows you to `extend Minitest::Spec::DSL` in order to provide shared specs.

Updating to MT5 is not forced but a good idea.