Redesign cpymad backend

This is a prototype implementation of some of my earlier suggestions.

Resolves #35 (multiple madx instances are not operating on the same state anymore).
Fixes #43 (only on python>=2.7)
Hopefully fixes #3 as well.

Furthermore, the first 9 commits (cb755e9 - 766e763) are useful steps towards the splitting of cpymad, see #30.

I tried to be verbose in the commit messages and some of the doc strings. If there are remaining questions, please don't hesitate to ask.

At this point there are probably still some bugs (typos etc), but I am uploading this already so you can take a look into it.
Note that the source for each commit should theoretically be partially functional, so you should be able to test on intermediate commits.

Best regards,

Thomas



By the way: Laurent didn't write anything further after I answered his email that you forwarded to me last week. Do you know how I should report issues correctly?