performance improvement: use two-tier-structure in RuleIndex

The advantages:
- The lookup routine doesn't have to concatenate tag key and value to
a key=value string for each tag of each element. This reduces
the number of temp. StringBuilder instances drastically.
- if no rule exists for the key, only one HashMap.get() is needed.
- the index has a smaller memory footprint, because it keeps only references
to already existing string objects

Depending on the style and options, this reduces run time by up to 10%

No change in output expected.




git-svn-id: http://svn.mkgmap.org.uk/mkgmap/trunk@3192 25d90789-57f7-4ee0-8453-03a3dfeeeb22
copy all tags with keys containing the string "name".

Old code copied only "name" and keys ending with ":name", so
tags like "name:en" got lost

git-svn-id: http://svn.mkgmap.org.uk/mkgmap/trunk@3193 25d90789-57f7-4ee0-8453-03a3dfeeeb22