OMC TinyG bugfixes

This is the difference between our current top-of-tree and dev.  It has a bunch of small bugfixes that should be unobjectionable and a few things worth discussing:

On queue flush ("%"), we added {"qr":} and {"rx":} reports, since it affects both the # of buffers and # of serial bytes free.  Before, Otherplan was sending "%" and waiting for the qr and rx timers to expire, then manually requesting both values.

In the homing and probing cycle, at least for the old switch code, I changed the cycles to read out of sw.state[X] instead of actually polling (calling read_switch(X)).  This change goes hand in hand with the fix I made to switch.c, which fixed a race condition in the homing cycle that we exposed with some faulty wiring :).  I think as long as read_switch actually goes to the PIO peripheral, we should avoid calling it from cycles; if I recall, the G2 switch code has read_switch just returning the cached value and the polling happens in a different callback, so it's not an issue.

More minor things: a bad merge in sr_set_status_report that broke it, saving feed rate mode in cycles, making the probe cycle end function look more like jogging/homing end, updating the xcode project for added/deleted files, and adding the cm_get_runtime_busy gate to queue flush.