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. 
To my surprise my none of my suggested tweaks helped in anyway. Since @pboyer PR has been merged, could you please overlay this work on his?