[loader] Add support for optional dependencies
[loader] Ignore coverage for unreachable branch
[loader] Add HISTORY entry for optional dependencies
[loader] Ignore optional dependencies without a test
[loader] Document ignoring optional dependencies without tests
[loader] Ignore undeclared optional dependencies
[loader] Fail when requiring modules with failing tests
[loader] Fix access to undefined loader instance
Merge remote-tracking branch 'upstream/dev-3.x' into optional-require
[loader] Test correct attach order of optional dependencies
[loader] Check if requires list passes tests and add optionals to it

This way _sort() has knowledge of optional requires to sort them as
dependencies
[loader] Simplify _attach test for optional dependencies
[loader] Remove error from failing dependency tests
[loader] Fix attachment order test
[loader] Document loader._canBeAttached
Fix left/right margin issues with dual-panel calendars
Check whether the mousedown event belonged to a valid drop target before preventing default
SVG Build Status Badge

Travis CI now supports SVG Build Status Badge.
[dd] Fix wrong HTML escaped strings on docs

Fix #1788.
[docs] Update Node.js to clarify `io` vs `io-base`