[Completed #27] Upgraders applied when decoding
[Completed #27] Upgraders applied when decoding

## Pyjamas-JS issue #27 Completed
When objects are constructed they now applies any upgraders that
have been registered to their pyjamas object. Before applying upgrade
functions they are sorted in ascending order based on version number.
The upgrade functions are applied on the raw object before any
attributes of the raw object are applied to the new instance.

### To-Do
This code needs to be tested but the test specification needs to
be split into multiple files before they are added. This issue
is now blocked until the test specification has been split

mattmaynes/pyjamas-js