Improved dimensionality checking in UnitRegistry.convert

As dimensionality for source and destination units are computer before
converting values, this patch compares them before to fail early.
Get get_dimensionality should work even for compound non-multiplicative units
Reindented code
Added an optional argument to get_base_units to return the scaling factor even if nonmult units.

The optional parameter allows collecting the scaling factor even if a
non multiplicative unit is found on the way.

Fix #85
Implemented is_multiplicative property in Definition and Converter. Removed delta_degK

- The OffsetConverter is multiplicative if the offset is 0.
- delta_degK is not needed because degK is multiplicative.
Refactor Quantity mul, div, and pow operators

Create methods_imul_div and _mul_div to centralize the multiplication
and division operator methods. Also make multiplication, division, and
power methods return NotImplemented when appropriate.
Improved support for non-multiplicative units.

Quantities with non-multiplicative units are converted to base units
before multiplication and division.

See Issue #86
Removed 'R' alias for roentgen as it collides with molar_gas_constant

close #87
Make kelvin the default name for the unit and degK an alias

The plan is to deprecate degK for 0.5

See #86
Updated tests to use `kelvin` instead of degK. Add more tests.

See #86
Updated CHANGES
Preparing release 0.4.1
Back to development: 0.5