New module backports
Various patches that apply to master
from the new modules branch. This helps to keep that branch smaller and more manageable.
@brad.king for CMake-related changes.
@dgobbi for Python changes.
@sebastien.jourdain for the Java bits.
@demarle for xdmf changes.
I'm unsure about the removal of the TclTk module (though I really don't want to have to port it to the third party import setup and the new module system…). Our copy is really old (last updated in 2013: 1b1d6172) and if someone needs TclTk I'd expect that the system version is suitable.