usb-pd: Get max_current from PD contract and delay data role switch
This gets some bits from @angus.ainslie !257 (closed) / !226 (closed) / !269 (closed) . It uses a simpler approach to PD contract paring by just looking at
TPS_REG_ACTIVE_CONTRACT (0x34) and not doing any intrusive mode. With that and a 5V restricted firmware i get reliable contract negotiation and DP with adapters working before (goobay, club3d) and addtionally on NextDock and the 'black brick'.
Closes #176 (closed)