Characterizing dynamics with covariant Lyapunov vectors