I2C in interrupt routine

The method of only changing the state_id in the interrupt routine causes
a problem specific to the accelerometer:

After the accelerometer chip detects a shake/tap/position and fires
its interrupt, it will only begin detection again (and interrupt firing)
once the tilt register has been read via I2C.

Therefore, if the state_id is changed (in INT vector), the tilt register
read, and then another accelerometer interrupt is thrown before a state
decision is made, then the updated state_id from the interrupt vector
will be overwritten by normal tilt handling routine (currently
check_tilt()) and the code will never read the tilt register. Meaning
that the accelerometer will not reset and no more interrupts will occur.
The chip is left doing nothing, waiting for the PIC to read the
register, which it will never do because it can only enter that state if
the external interrupt is thrown.

A quick fix, that seems to be working well for now, is to place the I2C
code necessary for reading the tilt register directly inside the interrupt
handler (currently the low priority interrupt handler, lowIntHandle()).
The state_id is still changed, directing the main loop to enter the
check_tilt() method where variables are altered depending on what was
detected by the accelerometer.