D map

Review but, ====> DO NOT MERGE THIS <====.
ms-iot:DMap has incongruent history and the history must be rebased from ms-iot-develop or rewritten with a forced push.
Take it or leave it: Would it make sense to hang the pin direction function off the m_pinattributes table? This way you wouldn't need a lookup, you would just indirect through _pinattributes[pin].setDirection(...)