allow multiple bitbang interfaces
Removes the bitbang_interface global variable. Instead, drivers are
expected to associate a bitbang_device structure as the data pointer
for a jtag_device, which contains a pointer to the interface driver.
Drivers may embed this structure in their own and downcast it in their
callbacks using container_of().
This patch completes the transition that allows the dummy interface to
support multiple instances, once the rest of the infrastructure has been
converted to support it.
The parport driver needs its non-configuration global variables
encapsulated in its new state driver.
The other bitbang drivers have not compiled in sometime and need to be
updated in separate series.