Added system operation tests. Switched to a primarily use of boost::exception.

this file shouldn't be altered as it's not considered part of the project - it's just mirrored and occasionally synced from Vitalik's repo. if there are any bugs, fix in vitalik's repo and mirror across to this one.