Merge pull request #9 from htristan/master

Updates and fixes for UPS API with current changes.
import Product into test.py

solve this error when executing test.py to test UPS:

$ ./test.py
Traceback (most recent call last):
  File "./test.py", line 338, in <module>
    TestUPS()
  File "./test.py", line 45, in TestUPS
    Product(total=10, value=2, quantity=5, description='It\'s just a bunch of widgets', country = 'CA'),
NameError: global name 'Product' is not defined
modify ups.py for python < 2.7 support

Add in a try/except block to catch errors generated by running python < 2.7:

$ ./test.py
Traceback (most recent call last):
  File "./test.py", line 338, in <module>
    TestUPS()
  File "./test.py", line 55, in TestUPS
    response = u.label(intl_packages, shipper, r, ups.SERVICES[9][0], ups.PACKAGES[5][0], validate, [ 'test@mytrashmail.com '], create_commercial_invoice=True, customs_info=products)
  File "/python-ship/ups.py", line 319, in label
    shipment = self._create_shipment(client, packages, shipper_address, recipient_address, box_shape, create_reference_number=create_reference_number, can_add_delivery_confirmation=delivery_confirmation)
  File "/python-ship/ups.py", line 147, in _create_shipment
    package = client.factory.create('{}:PackageType'.format(namespace))
ValueError: zero length field name in format
modify Product commoditycode to be optional

default test.py fails to assign a commodity code, it seems to be optional, pass if not set
update ups.py for python < 2.7 support

fix this error for python 2.6:

$ ./test.py
Status: Success tracking: 1ZR052A2D491648028, cost: 127.89
Status: Success tracking: 1ZR052A2D497605830, cost: 127.89
UPS Error 250065: Invalid or missing request element
Traceback (most recent call last):
  File "./test.py", line 338, in <module>
    TestUPS()
  File "./test.py", line 74, in TestUPS
    response = u.label(packages, shipper, r, ups.SERVICES[2][0], ups.PACKAGES[7][0], validate, [ 'test@mytrashmail.com '])
  File "/python-ship/ups.py", line 323, in label
    shipment = self._create_shipment(client, packages, shipper_address, recipient_address, box_shape, create_reference_number=create_reference_number, can_add_delivery_confirmation=delivery_confirmation)
  File "/python-ship/ups.py", line 179, in _create_shipment
    reference_number = client.factory.create('{}:ReferenceNumberType'.format(namespace))
ValueError: zero length field name in format
remove non-indexed format options
Update ups.py
Merge pull request #11 from r3dfish/master

add index to solve ValueError: zero length field name in format
Adding ShipFrom information to _create_shipment
Merge pull request #12 from r3dfish/master

Adding ShipFrom information to _create_shipment
Change <ns1:Request> to <ns0:Request>

rate() now returns a valid rating for packages, now to deal with the response ...
Merge pull request #14 from htristan/master

Added duites billed to shipper as well as fixed negotiated rates issue
Merge pull request #1 from benweatherman/master

Pulling down updates from master repo.