Allow projects to be configurable and buildable, but disallow builds by the user.

Right now, if a project is configurable and buildable, the "Build Now" button will always appear.

If you subclass from project and override isBuildable to be false, then the button won't appear, but it also becomes impossible to build the project since scheduling a build will result in null being returned.

This adds an additional function that can be overridden to allow builds of a project to be scheduled, but the "Build Now" button won't appear so users can't schedule a build.

This is helpful if you're trying to write a project that contains other projects, where each of the projects is configurable, but don't want people to invoke builds of those projects directly.