(no bug) Cleanups and speed/memory improvements:
- use isset() instead of array_key_exists() when possible as it is faster
- unset large data sets manually instead of waiting for end of script GC (improves memory but also perfs)
- use new Project class methods whenever possible