add constructor for Contest entity.
parse contest basic information from contestInfo.xml
add defaultContestLength static final variable to Contest entity class.
rearrange order imports.
fix coding style.
check basic contest information is complete and not duplicated.
explicitly define isVisible is true/false.
remove unused imports.
parse problem tags.
ignore hidden directory during checking contest ZIP archive.
use parseBoolean to parse `visible` field in contestInfo.xml
parse contest problems' information in contest ZIP archive.
add contest and contest problems to database.
make exception messages more explicit.
fix coding style
assign value directly in Contest constructor.
use AppExceptionUtil.assertNotNull to check whether problemsNode is not null.
catch exception thrown during parse XML tags.
fix coding style.
make parseContestZipArchive as a interface