removed a really slow check to speed up loading projects from org files dramatically
make it so properties can be either up- or lowercase
simple typechecking for project config vars

- to help prevent accidently defining projects that cause weird errors
check if basedir exists before defining a project
eval lisp expressions in startup hook var on load
handle narrowed buffers by returning base buffer name in mk-proj-buffer-name
use file-truename at places where symlink in paths can cause problems

- file-truename is slow but more reliable
- symlinks in paths cause confusion because functionality often relies
  matching a file path to the basedir path
- try to mitigate that issue with a few calls to file-truename at
  assorted places
switch compile command based on current buffers language

- if a new file is added to the projects basedir in another programming
  language, a regex pattern with its extension is now automatically
  added to the src-patterns of the project
- if project-compile is triggered in a project with multiple languages,
  the entered compile command is associated with the current buffers
  language so that the user can specify different commands for different
  languages