Fixed Contains for IDSet

Fixed a problem with the binary search in IDSet. Add an extra test to
ensure we catch anymore problems.
Merge branch 'DomainObject'
Merge branch 'master' into System
Created Expense System

Created the initial version of the expense system along with some basic
tests.
Added Expense System Test

Added test cased for the update expense function.