Added missing part of license for third party code
Merge pull request #1301 from dhepper/fix/phonenumber-license

Added missing part of license for third party code
Tidy imports
Render new basket total in strong tags

To be consistent with the other flash messages.
Improve comments for order line model

Remove some really stale ones at the same time.
Document limitations of get_classes

I investigated for a few minutes if it's possible to get
get_class('shipping', 'Scales') working. oscar_module loads correctly,
but any overriding local_module was missing classes defined therein.

Just documenting this limitation explicitly instead of tripping at the
ValueError when trying to split.
Rename and move Scales class, and make it overridable

Making it overridable allows altering the weighing method of the basket,
which I wanted to do in a project. As get_classes doesn't support
importing from top-level products, it had to be moved to a scales
module.

Other class names tend to use singular, so as the imports had to be
changed anyway, Scales was renamed to Scale.
Tweaks for model-based shipping methods

* Made upper_limit a DecimalField, like the other weight fields
* Increased default precision for weights to be to the gram level. Will
  be useful for deployments shipping smaller items such as stickers,
  where 10 grams precision is too low.
* Changed strings to official 'kg' abbreviation.
Drop unused Javascript from demo site

Alex Moon ran into an issue which led to us grepping through the code
base and discovering some Javascript libs aren't used by the demo site.
Remove crate.io and oscar-testsupport from README

Crate.io is no more, and testsupport has been deprecated for a long time
now.
Replace CsvUnicodeWriter with Python 3 compatible UnicodeCSVWriter

This required extending the UnicodeCSVWriter to be able to deal with
file-like objects as well. This is used to create downloadable CSV files
in memory.
Fix or ignore DeprecationWarnings in test suite

* WebTest throws a DeprecationWarning under Python 3 that we can't do
  anything about. Added to the excludes.
* assertEquals has been deprecated, renamed to assertEqual.
Python 3 fixes for NullCharField

The metaclass definition did not work with Python 3, to_python wasn't
called. Documented in:
https://docs.djangoproject.com/en/dev/howto/custom-model-fields/#django.db.models.django.db.models.SubfieldBase

Also clarified logic of the to_python logic.
Backport import_string from Django

This allows importing a class or attribute by the reasonably common
string notation, which is useful for e.g. settings. When using settings,
we should prefer absolute imports over using get_class, because that
limits us to modules in INSTALLED_APPS.
Update trove classifiers to be explicit about Python 2 and 3 support
Add link to #django-oscar logs to README
Python 2.6 compatible format syntax for sitemaps

I keep forgetting {} is not allowed. Sorry.
Allow minus character in ProductAttribute.code

I don't see a reason why it shouldn't be allowed. And as the Django
Admin is currently the only way to enter product attributes, supporting
it eases integration with the auto-slugifying that is enabled in
ProductAttributeAdmin.

Fixes #1308
Auto-detect currency locale

Oscar is slowly adding better support for switching languages on the
fly. That also means that locales need to be switched.

The issue this commit tries to fix is that when switching languages, the
locale for rendering prices doesn't change, and hence prices are
formatted incorrectly.
Oscar used to require hardcoding the locale for prices via
OSCAR_CURRENCY_LOCALE. I'm not sure what the reasoning behind this was,
because as far as I'm aware, the locale can be auto-detected from the
current language. This not only reduces complexity, but nicely works
when switching languages.
pylint fixes

pylint in Ubuntu 14.04 seems to have added a new style check.