Fix for error occuring on selecting carrier. #6456

  * When a shipment is created from scratch, and a carrier is selected,
`on_change_carrier()` leads to `get_ups_shipping_cost()`, which should
ideally not be called as there are no values yet inside our unsaved
shipment.

  * In `get_sale_price()`, the fix is to check that the given shipment
ID is a positive integer. This indicates a saved shipment.
Added decorators to some methods. #6456
Merge pull request #48 from PritishC/feature/task-6456

Made fix for error in `on_change_carrier()`. #6456