Long overdue pull request for Oct-Dec 2012

BREAKING CHANGE: requires django 1.3 and submodule dimagi/rapidsms+class-based-views (the other pull request I just submitted)

Includes
* update 'delete' UI to reversibly deactivate contacts+products
  ** add activate/deactivate to contact&product
  ** update a whole bunch of filters to verify product.is_active, productstock.is_active, facility.is_active.
* make location.code unique at the db level
* round up calculated AMC if it's a fraction, as per good logistics practice
* added support for different stock level policies for different facility types e.g. since regional warehouses are allowed to have 6 months stock but hospitals should only have 3
* ProductsReportsHelper can now take an optional 'validator' class
* Report tweaks