Separate test and normal build output directories

Because g++ and gcc don't place nicely together and
because this has been bugging me forever.