Show form error when uploading w/o selecting a file

Ticket:	#3169
Make sure the gateway is an IP

Ticket:	#2492
Make sure /data/geli exists

Ticket:	#2527
Fix typo

While I'm here clean the code.
Fix typo

While I'm here clean up the code (PEP8).
Remove bogus debug line
Add docs/api/_build to git ignore
Auto-Commit of i18n data from Pootle for GUI
Comment function generic_checkout_git.
Make is_truenas a function so we can avoid dup code.
Support for building "nas_ports" directly from source.

If NAS_PORTS_DIRECT or NAS_PORTS_DIRECT_SYSUTILS_ZFSD is
defined, then we expect to find sources in
/usr/ports/nas_source/zfsd to build our project.

Otherwise we fetch a distfile.
Follow convention of GIT_$proj_REPO.
WIP, support for ADDL_REPOS
Fix mount of nas_source for nas_port build.
Don't set 'extract' target to NULL.

'extract' is needed to make WRKDIR, just set EXTRACT_ONLY to NULL
to not extract anything.
Pass through NAS_PORTS_DIRECT into ports build.

also pass through NAS_PORTS_DIRECT_${CATAGORY}_${PORT}
"all" target -> "obj all", fixes MAKEOBJDIRPREFIX

Turn off parallel build via MAKE_JOBS_UNSAFE to also fix
mkdir of MAKEOBJDIRPREFIX.
Explicitly set MAKEOBJDIRPREFIX for nas_ports.
Don't clean by default, we want obj directories.

Mark the rm-rf that nukes other object files with XXX as
it may soon be removed.
Use -DNO_KERNELCLEAN when building debug kernel.

This saves about 1m30s off the build.