Fix #117: Card tags now match disregarding case and punctuation.

Also did some renaming, since `cardHash` and the like shouldn't contain the type of the variable in the name.

To test, open up a game with a chat window and type:

  * `[card]foo[/card]`: It doesn't show non-existent cards, as expected.
  * `[card]Jace, the Mind Sculptor[/card]`: It hasn't regressed.
  * `[card]jace the mind sculptor[/card]`: Observe that it doesn't need case or punctuation.
Does this also normalize Æ?