What constitutes 1 AES round?
A single full AES round consists of the following:

S-box application 
Shift-Rows 
Mixcolumns
Add round keys

2 subsequent applications of shift-rows and mixcolumns provides complete diffusion of the state and the initial round key.

What you posted is a software optimized design, which combines the first 3 steps into a table lookup, then adds round key words. Te0[] is the first lookup table, and s0 is the first word of the state. I would suggest looking at how the tables are generated.


  It's also hard to implement an even number of rounds


In that design, you simply set s0-s3 to t0-t3, and begin the next round with the correct round subkeys.