Restructured addon/lib/reference.js

This should resolve #29 and is part of the larger #21 task.

Split `addon/lib/reference.js` into several scripts and moved to new subfolder - `addon/lib/reference/*`

* `list-reference.js` - Placeholder for new `CollaborativeList`, named in consistence with existing constructors. Currently holds `isCollaborativeList` and `serializeList` moved and renamed to `ListReference.isFor˙and `ListReference.serialize` respectively, in order to keep up with consistency.
* `map-reference.js` - Moved from `reference.js`. Holds the `MapReference` constructor.
* `null-reference.js` - Moved from `reference.js`. Holds the `NullReference` constructor.
* `get.js` - Holds a single `get` method, which is the only private method from the old `reference.js` that was actually used in more than one place. Ideally, we won't need this and can get rid of the script completely, but I'm not sure yet.
Ideally, we wouldn't need this, and I might be able to get rid of it, but I haven't looked into it yet. As far as I can tell at a glance, it was written in a way to make it as generic as possible, but now that we have individual reference types split up into separate scripts, it might not be necessary.