Implementing search feature in map choosers

ref #6374
I've implemented this filter. It looks that it integrates with whole code without disturbing any coherency.. Please share me any thoughts.

My objection in MapChooserLogic.cs:91
```
.Where(m => m.Type == gameMode || gameMode == null)
```
-> the null check was at right (left side is being checked first in logical alternative) so I've moved it to left, and checked this null case - its handling it right now.

![map_filter](https://cloud.githubusercontent.com/assets/6244620/4330726/abf58270-3fb4-11e4-8a9f-6db42deacb5e.gif)

![mapfiltercnc](https://cloud.githubusercontent.com/assets/6244620/4330727/abf8eb5e-3fb4-11e4-8c03-9dcef459d71c.png)

Style nit: we try to avoid compressing conditional block statements down.  Please expand this out to
```
if (mapfilterInput.Text.Length == 0)
	canceling();
else
{
	mapFilter = mapfilterInput.Text = null;
	EnumerateMaps(onSelect);
}
```