Fixed vector addition test by using int32 everywhere.

The previous test used "int" and failed halfway through every time.
Changing the type to "int32" everywhere makes the test pass.
Added Flush and Finish, and support for int32 kernel arguments.

The Flush and Finish methods on the command queue object were not
implemented, so I added them.  I also added support for int32s as
kernel arguments in kernel.SetArg().
Added support for additional properties.

DEVICE_MAX_WORK_ITEM_SIZES now works like the other device properties.
Properties were also added for kernels and kernel work groups.