Allow for Dockerfile to be named something else.

This is a follow-on to #7995 and #7284.

This PR allows for the Dockerfile to be named something other than `Dockerfile` via a -f/--file option. Aside from the name/path of the Dockerfile being variable, nothing else should change from today's behavior. The location of the Dockerfile MUST be within the build context.

This PR contains the:
- code changes
- docs updates
- testcases

Signed-off-by: Doug Davis <dug@us.ibm.com>
@SvenDowideit I don't think we want to force the client to specify a full path, which is what "the file must begin with the path of the context" would force. I think being able to do "-f file" or "-f ../../foo/bar/file" should be allowed.  The point we need to get clear, and we may not be there yet, is that the file needs to be in the build context directory structure regardless of how the user chooses to reference it.