Enumerated argument kinds

This is mostly for @girving. It implements the argument kinds as discussed in [this mailing list post](https://groups.google.com/d/topic/xdress/uABTON6NuQo/discussion). All tests pass for GCC-XML and pycparser.  I started down the clang road, but then I backed off and figured I would let you take care of it :).

Note that there is now an `Arg` enum in `utils` as well as `isarg()` and `strip_args()` helper functions.

This may need some refactoring in the future to make it pretty.  However, right now I am much more concerned with merging the clang branch into master.