DO NOT MERGE: Fix for crash on typing special characters in library search

This submission fixes the issue logged in http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-4234

It uses an additional Regex to filter out special characters with the exception of hyphen, '@' and '.' from the search query in order to prevent ill-formed patterns being formed in the final call to:
```
return Regex.IsMatch(key, pattern, RegexOptions.IgnoreCase);
```
... and ultimately resulting in an ArgumentException being thrown.

These changes may conflict with those made by @pboyer to improve the search performance:https://github.com/DynamoDS/Dynamo/pull/2198 and would need his review. 
Yeah, [my comments](https://github.com/DynamoDS/Dynamo/pull/2198#issuecomment-52878378) for another pull request still holds, even if we want to do square brackets removal with ```Regex``` it needs to be done outside of ```MatchWithQuerystring``` (inside ```Search``` method), since ```query``` will not change for a single call to ```Search```. On standalone Dynamo ```_tagDictionary``` is having 946 entries.