Fix variable definition errors found by jshint

This includes an update to the test runners, which now use a separate jshint config with expanded globals for tests.
Update readme
Fix inserting multiple copies of ignored elements

This could cause the form to become impossible to save after saving a few times as the number of duplicate ignored elements grew exponentially.
Fix error on ignore/retain in <head>
Merge pull request #238 from dimagi/133655-max-call-stack

Fix max call stack error/bug
Merge pull request #235 from dimagi/jshint-cleanup

Fix variable definition errors found by jshint
Minimal, incomplete fix to preserve newlines

Fixes all forms that do not contain vellum:ignore=“retain” attributes.
Merge pull request #239 from dimagi/133665-missing-newlines

Minimal fix to preserve newlines
Minor cleanup suggested in PR #235
Fix non-deterministic sorting of bundles
Load test XML from file
Fix exporter excludes question type
Add comments about possible bugs
Merge branch 'develop' into 133912-export-type

Conflicts:
	src/form.js
Fix tests
Merge pull request #242 from dimagi/133912-export-type

133912 export type
Merge pull request #241 from dimagi/cleanup

Cleanup
Fix ignore-but-retain bug: empty parent
Merge pull request #243 from dimagi/133808-type-error

Fix ignore-but-retain bug: empty parent
select output ref after insert