Cooja Button interface update

This PR tries to reduce code redundancy introduced by different button sensor implementations.

The new implementation uses a common abstract class Button that implements all functionality except really platform-specific parts, i.e. how to press and release the button.