Based on the Adafruit MCP23017 library, but altered to support multiple MCPs
Other Contributions:
2018-03-07 - I just updated to support even more MCPs through the use of a TCA9548A breakout from Adafruit: https://www.adafruit.com/product/2717
2018-09-08 - I removed the support for the TCA breakout, as i found no need for it in any of my projects.
2019-08-02 - Solved the issue where more than one MCP chip would fail to work. seems to work now.