Compile legacy gadgets on upload
Float all requires to top of file
Check for valid gadget projects early on

Doing this because we run into annoying problems
trying to implement implicit compiling for legacy
gadgets without breaking unrelated tests.
Compile legacy gadgets on preview
Merge pull request #129 from Versal/feature/implicit-legacy-compile

Implicit legacy compile (Fixes #117)