implement full MatchData (as is possible) + specs

- recreate RegExp, if necessary, to include global flag in match method
- populate MatchData using all information JavaScript makes available
- assign the $` and $' implicit variables
- rename argument names to correctly match what they are
Merge pull request #251 from mojavelinux/pre-post-matchdata

implement full MatchData (as is possible) + specs