Merging Sonar Module

Branched to avoid issues with merging the pin_interrupts.

Fully functional Sonar Module that utilizes the pin and timing modules recently created.