Adds support for custom url mappings for field marshalling

This allows for url rules to not use the same parameter name as parameters on the objects to be marshalled

This way, you can have a endpoint with something like <user_id> and when class User with attribute id is marshalled, it would map id to be used as user_id for the url