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.
Changes the Jakefile to work with node v0.10.x

Node introduced a breaking change in v0.10
where all FS module actions require a callback
to be passed.

This change simply passes an empty callback that
will swallow any errors passed in. Basically
keeping things the same as they were in node v0.8.x

Read More:
https://github.com/joyent/node/issues/5005
adds node_modules/ to gitignore
changes to gruntjs powered build

The existing SpecRunner.html is still in /spec, I didn't see the need to change it, so it will still load the specs correctly. It will need to be updated whenever a new spec file is added, but I don't think this is too much work. The grunt build will automatically pick up new spec files and executes via the command line. Also, this will enable integration via Travis-CI so in the future we can have PRs automatically tested before we accept them.
Merge pull request #187 from codeimpossible/node_0_10_x

Changes the Jakefile to work with node v0.10.x
removes interpolation keys from banner comment
banner comments are generated using data from package.json

when we merge #105 we should change the  to load component.json instead
adds documentation about installing grunt-cli
uglify grunt task does not mangle uncompressed source
corrects package version to 1.3.1
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.
Jasmine Spec file suffix is not case sensitive
removes spec/SpecRunner.html
Adding completed callback to demo.
Merge branch 'gruntjs' of https://github.com/codeimpossible/jquery.maskedinput into codeimpossible-gruntjs

Conflicts:
	Jakefile
	dist/jquery.maskedinput.js
	dist/jquery.maskedinput.min.js
	spec/SpecRunner.html
Trying to get CI working.