Adding DataTokens Support.

Does not contain anything specific for attribute routing. 
Completely tangential and shouldn't be considered for this PR - but does it make sense for this property to be a readonly dictionary? This might allow us to do re-use the Dictionary on line 56 when the passed in value is null. I'm not familiar with the use case for this, but is it meant to be modifiable by a user?