Removed sudo requirements

By using system calls instead of the wiringPi library, the use of sudo can be avoided.
The methods which relied on the wiringpi library have been changed accordingly, and one of the methods has been slightly modified to avoid an extra flash in the time it takes for the GPIO pins to be written to, albeit it makes the method somewhat slower.