Clean and update build output more intelligently

Fixes #183.
needs param check - look for null project