The get_snapshot function now interprets data as signed and does not add 128.

This is consistent with both the newest ADC testing bitcode and the SMA correlator
bitcode. The get_test_vector function was update to convert back to offset binary to
account for this.
Added a ps_range option to calibrate_mmcm_phase.

This allows the user to specifiy how many steps of the MMCM phase should be
run through to find the optimum.
Added three functions to adc5g.tools for use in calibration.

set_test_mode, unset_test_mode: these functions will set/unset an ADC into
test mode. The set function should be called on both ADC's before issuing the
sync function described below (which itself should be issued before the
calibrate_mmcm_phase function).

sync_adc: this function sends a SYNC pulse to both ADC's simultaneous. This
should be done _only_ after setting both ADC's to test mode and should _not_ be
run after unsetting test mode. This should be run before the call to the
calibration funciton.

A proper calibration for both ADC's should be done as follows:

```python
set_test_mode(roach, 0)
set_test_mode(roach, 1)
sync_adc(roach)
opt0, glitches0 = calibrate_mmcm_phase(roach, 0, ['scope_raw_0_snap',])
opt1, glitches1 = calibrate_mmcm_phase(roach, 1, ['scope_raw_1_snap',])
unset_test_mode(roach, 0)
unset_test_mode(roach, 1)
```

If both opt0 and opt1 are not None then the calibration completed and an optimal
phase was found.