Clean base implementation of the PairHMM and associated routines

* allocate the diagonals and constants only once and resize/init when appropriate
* remove libc++ from the command line (it is now standard in macos)
* cleanup iterator interface
* fixing max-length initialization bug
* generalize reads to take real value qual scores
* fix ph2pr calculation outside of the main loop
* invert read/hap loop to maintain constants across computes
* open access to basic read/hap information to minimize copying (controversial)
* minimize copies of vectors all around
* add simple test case for automated tests on travis-ci
* automate valgrind execution in the travis-ci