Added a try except to handle unicode in domain lookup. Solves FB:120611

Warns the user of an invalid domain name if unicode is passed into form instead of returning a 500 error.
Solves http://manage.dimagi.com/default.asp?120611
@millerdev 
At the lowest level, the error is coming from `hashlib.md5()`, which raises an UnicodeEncodeError on strings that contain unicode. This is used in `_domain_cache_key` which in turn is used by `Domain.get_by_name()` (see `corehq/apps/domain/models.py:510`). So, the first solutions that come to mind are: catch the exception in `_domain_cache_key` and return `None`, or catch the exception in `Domain.get_by_name()`, or we could encode the string being passed to `hashlib.md5()` as utf-8 in the `_domain_cache_key` method. What do you think is best?