Resolves issue #176

Passed Travis tests

Resolves issue #176 (https://github.com/alimanfoo/petl/issues/176): addfield() and uneven row lengths

The addfield() function now pads short rows with None to ensure proper alignment.

unittest added: petl.test.transform.test_basics.test_addfield_shortrow()
I would defer counting the number of fields to within iteraddfield(). Generally I try to avoid doing anything which requires iterating over the source table more than once, even if it is only inspecting the header row (although there are some exceptions, and an open issue to resolve them.)