Remove execute from Dockerfiles.
Factor out image building logic into buildImage.

Easing the ability to layer up images should make it easier to add some
more functionality.  Anytime we want to persist changes made to the
environment the scripts will run in, we need to create a new image.
This handles some of the basic functionality that such scripts could
want to use.
Allow for functionality to be disabled on a single hole.

Some functionality of the language should be allowed in general, but
sometimes needs to be disabled to make a hole competitive in that
language.

This adds a requirement for languages to support a disableFunctionality
hook that should disable anything necessary for the passed
functionality.

Holes can now request for functionality to be disabled.

The ucwords hole given is included as an example of how this
functionality can be used.