Get specs running.
create appropriate TaxRate when initializing specs
Tuning cache_key

The default cache_key was proving oversensitive, as updating the Adjustments on a LineItem would touch the LineItem, bumping its `updated_at` field and busting the cache. This would often result in multiple calls to the TaxCloud API per step in the `state_machine`, which is more than necessary. Now we only bust the LineItem cache if the quantity, price, currency, or variant change.

A more ideal future implementation will be sensitive to the Shipment in which the LineItem appears.
refactor fill_in_address method to take any Spree::Address
Include shipment in LineItem cache key

Prevents bug where taxes for item might stay cached when the user updated their shipping address.
filling out the README
Compute tax for Shipments as well as LineItems

Builds out ability for Spree::TaxCloud to compute and cache tax for Shipments as well as LineItems
Fallback to default product tic.

Conflicts:
	app/models/spree/tax_cloud.rb
Fix nil ship address error.
Resolve merge conflicts

Removes code added in merge conflict in https://github.com/spree-contrib/spree_tax_cloud/commit/378f60e526c3ab6be89d1f24e33b06bdda78747e
return zero when order.ship_address.nil?
hash colons for spec
out-of-zone orders return 0
more graceful handling of empty SKUs

includes formerly failing spec and uses present? rather than nil? to assess presence of variant SKU
addresses https://github.com/spree-contrib/spree_tax_cloud/issues/3#issuecomment-48371752
using test api credentials provided by FedTax
specs use TaxCloud's recommended StockLocation in WA
Add TaxCloud test cases 1a and 1b

Note that currently 1a is passing and 1b -- related to subtle address validation -- is not.
PRs to turn 1b green are welcomed.
add TaxCloud test case 2a (passing)
refactor spec add_to_cart
using spec shipping cost of $10 as per TaxCloud testing guide