File uploads should be canceled as well

Move the block for doing file uploads into the block that checks whether they cancelled the form submission.
Merge pull request #124 from ubergeek42/fix-upload-cancel

Fix bug with cancelling file uploads
Link checktestdata statically against non-standard libraries.
Replace flex++ by more modern flexc++.

This fixes a missing build dependency on FlexLexer.h and cleans up
an kludgy way to generate C++ code based on flex C code.
Move parse_t output stream function to separate file
to prevent multiple definition in object files.
Improve string escape tests for checktestdata.
Make sure that checktestdata parse_t objects cannot be called
implicitly as cast operators from string or char.
Catch exceptions for better error reporting.
Fix buffer overflow found by Coverity scan.

Also remove redundant check at end of loop, document variables.
Add Prolog as a supported language using the SWI-Prolog compiler. The .plg extension is used because .pl is already in use for Perl.
Add a paragraph on using multiple judgedaemons on multicore CPUs
and a few minor improvements, modify rule of thumb for #judgehosts.
Note that we need ghostscript for generating ps->pdf admin docs.
Print full date when contest start is not today
Add note that submit client requires the IPADDRESS (or FIXED)
authentication method (Closes #125).
Remove debug output.
Print full URL to ease possible debugging.
Add support for Ruby.
referer regexp needs to be superset of identifier chars

Otherwise you can create a team with a - in the name but not edit
or delete it, because the identifier is in the url. Reported by
wdenbesten.
replace circle image with a pure css solution
Make email field of type email and fix a PHP notice.