Add precommit hook, ensure project is linted and built before committing