fixing bug with supermodel backing collections

#### What does it do?

Fixes the bug I described in #3, where supermodels weren't saving to their backing collections.

#### Where should the reviewer start?

Look at the 1 liner that fixe in lib/items/item.js and the false positive on the test because we weren't testing for custom `idAttribute`s.

There are a couple of incidental changes in package.json.

#### How should this be manually tested?

N/A, run the unit tests

#### Any background context you want to provide?

This is a really weird API quirk in Supermodel, where you have to make sure to call the base class's `initialize`, which is a no-op in standard backbone models. Annoyingly crucial to the thing actually working.
No, there's a funky scope manipulation happening here. This is passed to a new collection, with it's own context.

If you try to pass `this.createItem` without binding it's scope, `this.ItemModel` will be undefined when `this.model` is called. Unfortunately, if you bind it's scope, a variation of the missing `idAttribute` bug.