A spectral boundary-integral method for faults and fractures in a poroelastic solid: Simulations of a rate-and-state fault with dilatancy, compaction, and fluid injection