Implemented Wakeup from sleep with interrupt #95

Can use the following method for wakeup from sleep:
Spark.sleep(uint16_t wakeUpPin, uint16_t edgeTriggerMode);

Example:
Here calling this function will immediately stop the Core and then if a High voltage/Logic 1 is applied on D2 pin, Core will wakeup from sleep. 
Spark.sleep(D2, RISING);
Spark.sleep(D2, RISING, 3600);//Here the Core will wakeup after 1  hour if no interrupt arrive

SImilarly if the edge triggered mode is set to "FALLING" applying Low voltage/Logic 0 will wakeup from sleep
Spark.sleep(D2, FALLING);
Spark.sleep(D2, FALLING, 3600);


NB: `Enter_STOP_Mode()` this has to come after `Set_System()` (which checks for 0xA5A5 and calls Enter_STANDBY_Mode()`.  If stop mode were placed first, it would reset the `0xA5A5` value to 0xFFFF, but otherwise ignore it, since the parameters (pin number, edge) would be out of bounds for Enter_STOP_Mode(). (Might be worth documenting this fact, since the potential interplay between sleep mode and stop mode may not be obvious.)  Alternatively, only reset the BR9 register in Enter_STOP_Mode() after validation of the encoded parameters.