Improved button code. 

It is not ready to merge yet and I am not sure if this is worth implementing or not. 
Have a look if you like the idea I can polish it some more and integrate it in with the power on and FS code.
For now it just spits out the results on serial according to how long the button is held down.

//The idea here is for more flexible button code that can be used for both power on and in use.
//Main reason for writing it was so I could change the output power while in flight.
//It is designed so that the main loop can continue to run while the button is held down. 
//I have tried to minimise the time that it takes away from the main loop
//to it integrate properly some small changes will be required to the FS code. and power on detection. but I am hoping it will make for cleaner code