Massive update

Code now uses semver.
Code now used IP address parsing that is more compatible with the future python 3 built in network address handling functionality.
Github Webhook IP addresses are no longer hard coded, they are now checked against the current GitHub Meta API in order to ensure this will continue to work when these addresses change.
This won't work unless we loop the list of hook networksm, it might be more than one.