Dirty fix for masks not completing with a literal

Whenever the mask would have a format like "(99)" and the user typed
"99", the resulting value would end up being "(99" intead of "(99)".

This is a quick and dirty fix and should be refactored. It seems to me
that the function "check()" that controls the loop in jquery.mask.js:165
could be rewritten to accomodate this logic, but a quick reading of the
code didn't let me visualize cases in which the expression `m < maskLen
&& v < valLen' would evaluate to `true && false', hence the quick fix.

I've also added a couple of test cases.