Shorewood attorney Stephanie Rapkin charged with hate crime for spitting on protester