Coerce args.functionalSuites to array

Fixes #272.
Rename `received` property due to upstream change

Fixes #265.
Allow empty suites/functionalSuites command-line args

Also ensure that the state of `args.suites` is used when determining
whether or not to run ClientSuite in the runner, since that argument
is passed to the client and decides which unit test suites execute.

Fixes #268. Closes #269.
Empty suites command-line flag should skip running client

Refs #241. Closes #270.
Update Leadfoot dependency
Update contribution guidelines

[ci skip]
Update contribution guidelines

Let's be extra clear.

[ci skip]
Use less stupid code to perform suites overrides. Thanks @Blasz

Refs #269.
Merge branch 'master' into sinon
Improve sinon loading process

When loaded by an AMD loader, sinon loads its dependencies
asynchronously using the loader's CommonJS compatibility mode. However,
sinon's dependencies are not meant to be loaded asynchronously, so there
are race conditions. This update uses a loader map to prevent sinon from
initially loading its dependencies. After the main sinon module is
loaded, the loader configuration is restored to its original value and
sinon's submodules are loaded in the proper order using Intern's order
plugin.

refs #47