Add support for context-based files

Cisco routers, by default, ask for various filenames.  None of them, however, contain the MAC of the device in question.  Therefore, bootstrapping Cisco devices by using dynamic files seems a good idea, but is hard to do because the dynamic file handler doesn't get anything more than a filename.

In order to overcome this, I propose optionally passing the "context" parameter to the dynamic file function.

This set of patches adds this functionality, while (I believe) maintaining backwards compatibility for functions taking one parameter.