FAILING: #getSize returns undefined

Signed-off-by: Austin Vance <austin@pivotallabs.com>
PASSING: #getSize passes with simplest implementation

Signed-off-by: Austin Vance <austin@pivotallabs.com>
PASSING: refactor #isEmpty

Signed-off-by: Austin Vance <austin@pivotallabs.com>
PASSING: extract shared behavior in tests

Signed-off-by: Austin Vance <austin@pivotallabs.com>
FAILING: #contains returns undefined

Signed-off-by: Austin Vance <austin@pivotallabs.com>
PASSING: naive approach to #contains

Signed-off-by: Austin Vance <austin@pivotallabs.com>
PASSING: refactor to use core array methods

Signed-off-by: Austin Vance <austin@pivotallabs.com>
FAILING: #add ignores duplicates

Signed-off-by: Austin Vance <austin@pivotallabs.com>
PASSING: #add ignores duplicates

Signed-off-by: Austin Vance <austin@pivotallabs.com>
FAILING: #remove removes an item from the bag

Signed-off-by: Austin Vance <austin@pivotallabs.com>
PASSING: #remove implemented with splice

Signed-off-by: Austin Vance <austin@pivotallabs.com>
PASSING: #remove protects from removing items that are not in the bag

Signed-off-by: Austin Vance <austin@pivotallabs.com>