Adding DataTokens Support.

Does not contain anything specific for attribute routing. 
Also, add a test for when you have an object that is part of a class hierachy (B extends A and has extra properties) and pass an instance of B as dataTokens. (Verifies that both, properties defined in A and properties defined in B are added to the DataTokens dictionary).