Button to LED code not working

First I’d expect you should pinMode(BUTTON, INPUT_PULLUP); when you connect your button between D1 and GND or INPUT_PULLDOWN for D1 -> 3V3 (I’d go for GND).

And triggering for CHANGE you need to debounce the button, as @v8dave said.

There is a thread that talks about interrupt plus debounce already.

http://community.spark.io/t/how-to-track-debouncing-in-an-interrupt-function/6918