Dont clone tokens in AttributeExpander, if attrs are unchanged.

* AsyncTTM.transformTokens checks if a token was unchanged by a
  transformer to decide if it needs to be reprocessed or passed
  on to the next transformer.  It uses the "===" check
  on the before/after token.

  However, the AttributeExpander used to clone tokens before expanding
  attributes which means that the equality check will always fail
  in AsyncTTM.transformTokens leading it to do unnecessary work.

* This patch gets AttributeExpander to check if the token's attrs.
  are actually modified by the AttributeTransformer.  If yes, the
  token is cloned and updated.  If not, it is left unchanged.

* No change in parserTest results.

Change-Id: I8b26480c4490f932faf53aa6d1b87996b4c3826a
Merge "Dont clone tokens in AttributeExpander, if attrs are unchanged."