Step bunching with general step kinetics: stability analysis and macroscopic models