Cucumber scenarios for Metasploit::Version VERSION constant shared examples

MSP-9923

Test that the shared example detects improper gem VERSION constant setup
with easy to understand error messages.
Fix typos

MSP-9923
Remove O major version restriction from shared example

MSP-9923

When I ported version_spec.rb to be a shared example, I forgot to remove
the example that checked that MAJOR was 0.  The 0 check should only be
used for unstable APIs and the shared examples are supposed to work for
all semantic versions, so it should be removed from the shared example.
Fix typo

MSP-9923
Port version_spec.rb into shared examples

MSP-9923

Use cucumber to verify shared examples work in various, known use cases.
Finish incomplete example in README

MSP-9923
Full spec coverage for Branch

MSP-9923

Ensure there is full coverage for `Metasploit::Version::Branch` in specs
and not just in cucumber scenarios.