Implement begin and end methods on the MatchData

Hi @mudge 

Here's the begin() and end() implementation for the MatchData. Let me know if it's OK!

Jason
Unfortunately, it looks like this way of calculating offset doesn't work with multibyte characters. Try the following test case:

```ruby
    it "correctly finds the offset with multibyte characters" do
      md = RE2::Regexp.new('(Ruby)').match("I ♥ Ruby")
      md.begin(0).must_equal(4)
      md.end(0).must_equal(8)
    end
```