Allow multiple operating systems to be specified in filename, i.e. _Windows_Linux.cpp
Make the controller cpp/headers lists additive rather than subtractive, so that OS-specific files are removed from the main CONTROLLERS_CPP/H lists and added back in for their relevant OSes. This should allow multiple OSes to be specified in the same filename. Also allow _FreeBSD even though we don't have any FreeBSD-specific controllers yet.
Edited by Adam Honse