Change serialVersionUID of HttpParseException.

Change serialVersionUID of HttpParseException to a randomly generated
ID.
Add RequestNotFinishedException.

RequestNotFinishedException for calling getResult() method when
previous getResult() request is still going on.
Attempt to switch structure of ScheduelDetail.

Attempt to switch structure of ScheduelDetail from passing search
arguments from constructor to passing argument when calling
getResult.
ScheduleDetailTest now prints out exception messages.
HttpParseException in ScheduleDetail has descriptions.

Add detailed descriptions to HttpParseException in ScheduleDetail.
Merge branch 'master' into config-at-call
Add non-parallel test cases to ScheduleDetailTest.

Since search parameter for ScheduleDetail is now passed when calling
getResult. I added a non-parallel case, which only create one single
instance of ScheduleDetail and attach one ScheduleDetailListener. I
have to wait for previous search request finish before I start a new
search request.
Add requestFinished flag to ScheduleSearch.

Since ScheduleSearch get search parameters when getSearch() being
called, in order to prevent getSearch() being called when previous
search request is not finished, now adds requestFinished flag to
ScheduelSearch.
Switch parameter passing structure for CatalogDetail.

For CatalogDetail, now search parameters get passed when getResult()
is called, instead of in the constructor.
Fix CatalogDetailTest correspondingly.
Minor change to ScheduleSearch.