Adding DataTokens Support.

Does not contain anything specific for attribute routing. 
This should be a treated as separate test - `RegisteringRoute_ReturnsEmptyDictionary_WhenRegisteredDataTokenIsNullOrEmpty`. Additionally, pass in the data token collection explicitly. You are relying on the behavior of `ObjectToDictionary` for this test to succeed.