Add dependency metadata/API to xPDOTransport

This adds the ability to specify dependencies for an xPDOTransport package to a 'requires' package attribute.

Adds the following methods as well...

* xPDOTransport->getDependencies() — gets the requires package attribute merged with an array of optional dependencies specified at call-time
* xPDOTransport->checkDependencies() — checks to see if the current runtime environment satisfies the specified dependency constraints, returning unsatisfied dependencies; this should be overridden for implementation specific dependency checks
* xPDOTransport::checkPlatformDependencies() — checks platform dependencies; called by default checkDependencies() implementation
* xPDOTransport::satisfies() — check if a version string satisfies a version constraint
* xPDOTransport::nextSignificantRelease() — get the next significant release version from a specified version string (based on SemVer principles)