Minor clarifications for using JS module format

Changes some documentation and text strings surrounding the JS module
input format:

- differentiates use of dynamic module files in the introduction against
  using the static data formats
- clarify that URLs can only be used for JSON and YAML input, not for JS
  modules
- updates exception in _getDataFromFile() to mention JS modules as an
  acceptable input format
- adjust the unit test message for the JS module format
Stricter regex type checks in _getDataFromFile()

Instead of just matching anywhere in the string, provide an anchor so
that we are matching specifically filenames that *end* in `.json`,
`.yaml`, `.yml`, or `.js`.
Display warnings to console on bad/missing export

If the task encounters a JavaScript module which either exports a
non-object or does not export anything at all, display a warning to the
console.