Rewrite of documentation for recip.process_to_q

- Exposed the frame_mode variable as an input parameter to
  recip.process_to_q
- Added new tests to make sure that bad entries for frame_mode
  actually fail and that good entries do not raise an exception
This is going to catch the `ValueError` you raise above.  I think this needs to be re-ordered

```
try:
    # check to see if frame mode is an integer
    frame_mode = int(frame_mode) + 1
except ValueError:
    frame_mode = str(frame_mode).lower()
    try:
        frame_mode = process_to_q.frame_mode.index(frame_mode)
    except ValueError:
        err_msg = ''''.format(...)
        raise KeyError(msg)

if frame_mode < 1 or frame_mode > 4:
    raise ValueError('')
```

We have not exposed this before so we don't need to let the users pass in integers

```
if frame_mode is None:
    frame_mode = 4
else:
    reverse_mode_mapping = verbosedict((k, j+1) for j, k in enumerate(process_to_q.frame_mode))
    frame_mode = reverse_mode_mapping[frame_mode]
```