Ok. This works all the time. Every time.

Grid was causing the other methods to fail cause IDs were not unique. This is fool proof.
Merge git://github.com/pyrocms/pyrocms into 2.2/develop