This is the initial checkin of the USSD code from Mike Haben. I didn't put it in the main branch as I think it still needs some cleanup.