Add ability to transform source location.

This adds the ability to encode source location to the transformer.
(Only a couple of the transformation uses this).

The mechanism should change to passing the object before the hash to
make it more convenient to pass options.

Adaptable updates to not require an object to implement is_adpaptable?
method
Add todo note for change of transformer's ast method.

Describes the intent for adding source positions to produces
AST objects.