Added "autoclear" setting so invalid values persist

To increase usability, add a new setting that keeps invalid values in the
input field to give the user a chance to correct a mistake. If the user
fat fingers the value on accident and doesn't realize it before tabbing
away from the form field, the invalid value will remain so the user can
correct the value rather than retyping it.

- Added new setting called "autoclear", defaulting to true, to maintain
  existing behavior.

- When autoclear=false, leave invalid values visible so the user can
  correct their mistake.

- Added test coverage for when the mask(...) is first invoked
  (Init.Spec.js)

- Added scenarios to Focus.Spec.js to cover new functionality

- Repackaged the distribution version to include this new feature
Fixing default mask display with "autoclear" set to false

When a mask is initialized, a text field with an empty value should show
up as a blank field. When "autoclear" was set to false, it showed the mask
even when the user did not have focus on the field. This fixes that issue.
Adding demo with optional markers and autoclear=false
Adding test coverage around masks with optional markers and autoclear=false
Merge remote-tracking branch 'upstream/master' into merge/autoclear_upstream

Conflicts:
	src/jquery.maskedinput.js
Rebuilding distribution files after merging from upsteam/master.
Adding completed callback to demo.