Support for optional-part to a mask

I needed the ability to have an optional part of the mask: phone numbers that are 10 **or** 11 characters long (see below).

This pull-request achieves this by supporting **one** *optional section* to a mask, delineated by the `?` character.  This is the same format used by the popular [jQuery masked input plugin](http://digitalbush.com/projects/masked-input-plugin/).

For example:
```
   <input ui-mask="019999999999?9" />
```
will accept German mobile numbers with 10 or 11 user-input digits.