Implement :checksum_hash mrbgem option.

This allows to use a mgem with a specific checksum hash.
The following modification were necessary to implement this
function:
  - add run_checkout build command to use 'git checkout'
  - skip shallow copy in case checksum_hash is used
  - make 'master' the default branch if branch isn't defined
Merge pull request #2086 from bovi/checksum_hash

Implement :checksum_hash mrbgem option