Implement Repeated Actions in Vi Mode

In Monodevelop's Vi mode, you may now prefix actions with one or more digits to allow for repeated commands.
For example, 3dd deletes three lines, 25k moves the caret up 25 lines, 3cw deletes three words and enters insert mode.
The following command types now support numbered repetition:
Basic Movement (h,j,k,l,w,b)
Delete (dd, dj, dk)
Change (cc, cj, ck)
Yank (yy, yj, yk)
Indent (<< or >>, also < or > followed by j or k)
Execute Macro (@)