Fault rock heterogeneity produces fault weakness and promotes unstable slip