HttpExceptionInterface now identifies HTTP exceptions, BaseHttpExceptions supersedes HttpException as new superclass for other more concrete Exceptions and HttpException is now a generic class to create new HTTP exceptions on the fly. resolves #2880