Changed matchstart to have Go's version of do-while:

an infinite for loop with a negative check for a break (or return)
Changed main Match method -> fixed bug and mvd to Go's do/while equiv