Merge pull request #396 from jeff1evesque/php_index

#380: index.php, add 'jquery_validate.js' to head
#397: Add 'grunt' submodule
Merge pull request #402 from jeff1evesque/submodule_grunt

#397: Add 'grunt' submodule
#408: helper.py, adjust docblock
#408: helper.py, minor comment change
Merge pull request #409 from jeff1evesque/python_helper

#408: helper.py, adjust docblock
#394: Submodule, add jsonschema
Merge pull request #410 from jeff1evesque/submodule_jsonschema

#394: Submodule, add jsonschema
#411: Submodule: move into 'submodule/' subdirectory
#411: Submodule: update '.gitmodules'
#411: adjust '.gitmodules'
Merge pull request #412 from jeff1evesque/submodule

#411: Move 'submodules' into 'submodule/' subdirectory
#411: Submodule: rename 'submodule/' to 'submodules/'
#411: Submodule, adjust '.gitmodules' to 72e66f7, respectively
Merge pull request #413 from jeff1evesque/submodule

#411: change 'submodule/' to 'submodules/'
#411: Submodule, change 'submodules/' to 'submodule/'
#411: Submodule, change '.gitmodules' fb3f7c9
Merge pull request #414 from jeff1evesque/submodule

#411: change 'submodules/' -> 'submodule/'
#415: Subdirectory, rename 'tests/' to 'test/'
Merge pull request #416 from jeff1evesque/directory

#415: Subdirectory, rename 'tests/' to 'test/'