Validate ID before saving item

Added id validate at the beginning of the item.save method.  This fixes issue #75 

Added rspec test to match.

Also refactored all tests.