Matching

Hey,

This pull request contains additional methods `cern.madx.match()` and `cern.cpymad.model.match()` and some utility methods in `cern.libmadx._madx_tools`.

For now, the interface is quite liberal when it comes to data types of input parameters: You can either use lists/tuples/dicts in quite a few places.
I am not sure whether this is good or should enforce a little more uniformity/consistency. If you have any concerns, I can make it a more restrictive.

PS: Sorry for being inactive for so long.