Added Custom Exceptions

GPIOException, OneWireException. Also some general cleanup of code.