Issue #151 Refactored reprogramming code to have a cleaner interface and allow writing to any location in flash instead of just to the app archive.