[WIP] Added StartIndex and EndIndex to MessageTemplateToken

This adds two properties to `MessageTemplateToken`; `StartIndex` and `EndIndex`. They represent where the property tag is placed within the message template. It'll be useful when doing syntax highlighting with ReSharper as part of #50.

I tried to not break anything by adding `ObsoleteAttribute`s to the affected constructors and replacing them with new ones.

Currently the tests don't really test the indexes because they don't affect the instance equality of the tokens. Do you want me to add the indexes to the `Equals` methods (I guess that'll be classified as a breaking change) or add some explicit tests for them?
Rather than `endIndex`, would it be possible to use `length`?

For a `TextToken` we'd then only need to specify `startIndex` since `length` can be derived from the text itself. Similarly with `PropertyToken`, there's a `RawText` property that fulfils the same requirement.