Track created_by on orders

This work is building up to a fix for #3346
last_incomplete_spree_order for a User will now only return orders created by that user

Fixes #3346
[api] Correct line item count in orders_controller_spec test
[backend] Add missing stub for find_by_number in OrdersControllerSpec
[frontend] Stub created_by creation in orders_controller_spec
[api] Correct line item check in orders_controller_spec
Fix Spree::Calculator.calculators method

Fixes #3426
Fix api component orders spec

I believe the reason this spec was passing before was actually a Rails
3.2.13 bug which got resolved in 3.2.14.

  order.line_items << persisted_line_item

Looks like the code above wouldn't associate that persisted line item
with the given order on a Rails 3.2.13 app

Fixes #3433
[api] Correct updating existing quantities of line items test in orders controller
[backend] add some extra waiting to admin/orders/shipments_spec due to sporadic CI failures
Make zones more robust by allowing types with 2 words (i.e. zip code).

Fixes #3431
Add #total_on_hand method to Variant model

Fixes #3427