Fix reset

Introduce new state into state model, so that the reset code can split the close from disconnect and cleanup submitted requests between the two states.