[ADAM-369] Improve debug output for indel realigner

Addresses bug reported on [mailing list](https://groups.google.com/forum/#!topic/adam-developers/hHUQVk-YGQY) with output in [this](https://gist.github.com/jstjohn/58175a3c782de2e0b29d#file-gistfile1-txt) gist.

The indel realigner was trying to read the MD tag on a read that did not have an MD tag attached. To address this, I've:

* Made the indel realigner check to see if MD tags are attached before trying to recreate the reference; if the MD tag is not attached to a read, we print a warning message to the log and don't use this read to try to recreate the reference
* Added enhanced debugging to the reference recreation process; if the reference cannot be recreated because of a gap, we note that the user should check to ensure that MD tags are attached to a read.
Isn't this doing a get and then re-wrapping the tuple in an option?  Maybe:

```scala
mdTag.map( tag => (tag, r.getStart.toLong to r.getEnd))
```

instead of the isDefined + get