Exntened testing to cover several different responses. Modularized server code. Extended HTTPExceptions to include HTTP response code as well as refactored Exception heirarchy