Make the code strict mode-compliant: declare variables before using them in "if" condition

Also, some trailing whitespaces removed by my editor.
"required" rule support for radio inputs

Multiple radio inputs share the same name in the form, but vary in values; therefore form["foo"]
is not an HTMLInputElement, but rather an array of HTMLInputElement-s.
Updated the README.
Added "rule" to error-object
Clarified that validate.js is licenced under the MIT licence
Added Credit Card Validation (using luhn check method from https://gist.github.com/4075533
Merge pull request #47 from TERMINALFOUR/credit-card-validation

Added Credit Card Validation
Merge pull request #45 from TERMINALFOUR/licence-change

Clarified that validate.js is licenced under the MIT licence
Fixed a typo in the license.
Merged in pull request #44 from jhnns.
Updated the email regex to the html5 standard.
Merged in pull request #34 from tricinel.
Merged in pull request #25 from ikr.
Updated version number to 1.2
Fixed the case where "required" rule is not needed but a callback must still be run. Previously the callback was ignored if "required" was not present.
Update validate.js

Small changes to pass JSLint with default options: Removed a few stray colons, re-declared vars and un-escaped chars.
Updated the readme.
added valid_url validator
Only validate fields that actually exist
Changed a comment style.