Unapply and related things were implemented in the weight class.
Constructors of the weight class were made not really visible.

Now two ways of the weight value creation:
- pattern matching of a string representation;
- multiplication of an int to some known constant (like Weight.g or
  Weight.kg).
Also, summing of weights is allowed.
Compiler settings were tuned.