Merge pull request #392 from jeff1evesque/python_data_validator

#375: Adjust 'data_validator.py', 'analysis' case
#380: index.php, add 'jquery_validate.js' to head
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/'