flash: add erase command for JLink

Will only work with newer Jlink software (>4.69)
usr: fix up adding user programs

User programs (invoked via shell) now must simply use
DEFINE_APP(func_name) to make that function a shell
command.
usr: convert user programs to use DEFINE_APP
Merge branch 'master' of github.com:prattmic/F4OS