Limited DMA clearing to STM32F4, removed fatal error for flash loading.

Commit 0ed399 added the clearing of DMA registers that was preventing
programming (see issue 74), however it uses hardcoded addresses of the
DMA registers on the STM32F4. This seems to prevent the flashing and
verification on STM32L1, as the registers only partly cover the range
zeroed. So the DMA clearing has been limited to the STM32F4
microcontroller.

Additionally, sometimes, typically directly after erases, a 'flash
loader run error' will occur that terminates the writing. This is not
necessary, as the writing is successful, and so has been returned to an
error message (see issue 112). If the device is programmed again, this
error is not given and so needs to be further investigated.