Add EXTI support

Revamp usrsw to use new exti code.
Add user switch callback function.
Merge pull request #318 from dhylands/exti

Add EXTI support