Fix item ID returned woocommerce_add_order_item()

If a plugin hooks to 'woocommerce_new_order_item' and run some sort of $wpdb insert
query or uses a function which runs an insert query, like woocommerce_add_order_item_meta(),
then the item ID returned by woocommerce_add_order_item() will actually be the ID of a
different DB entry (becasue woocommerce_add_order_item() returns $wpdb->insert_id). This
commit fixes that.
Pass more arguments to woocommerce_new_order_item
Merge pull request #2273 from thenbrent/woocommerce_new_order_item

Fix woocommerce_add_order_item() return value & improve 'woocommerce_new_order_item' params.