remove not used one
add impls
improve code interface.
refactoring - rename
add dependency to save mock data
add mock http client and recording real call.
remove no uses
refactoring - rename
fix bug that read only one request.
introduce new exception type
refactoring-make code simpler
introduce new compile error message getter
add spoj's compile error message getter