Check model usability before connecting tools

If the model has no way to iterate the elements, selection (popup with
details about element) makes no sense.

Accordingly, if the model has no mechanism matching mechanism, it makes
no sense to add a toolbar item for that task.
Make `model.sequence` member optional

Note that the matching/selecting routines will just fail with some
undefined errors, if they are used anyway.

Theoretically, this might now work with some plain cpymad models. In
practice, there are still issues (expecting 'ex','ey' set in beam,
no automatic tuning of MultipleLocator, etc)
Add entrypoint for LHC models

This is only temporary, until a locator + entry point is added to
cpymad.
Remove obsolete import statement

I know, this commit doesn't belong here, but who can stop me? IM THE
MASTER OF THIS REPOSITORY... hubris
Merge branch 'master' into plain-madx

Conflicts:
	madgui/component/model.py
Prevent the command tab from closing and make it unique

At first glance, this seems like an unnecessary cut into the flexibility
of the frame functionality and this might be reverted some time in the
future.

But for now, it is easier to have a single dedicated command tab, so it
is easier to associate locals to the environment in the tab (models!).
Yes, the same reasoning goes for global variables, and they are not a
good idea. I will overthink this, if I ever see a concrete reason.
Put views into namespace of crust shell

That makes the models easily accessible as well.
Use new Table return type of madx.twiss()
Use ex, ey from Table.summary
Use online sequence inspection
Use AutoMinorLocator
Remove 'logfolder' program argument
Open a new Frame for each Madx instance
Cache model lists in OpenModelDialog

This improves performance by a **great** deal. Every call to
list_models() of the underlying locator is noticeable. Due to the
OnUpdate calls, there are several hundreds of these in a typical dialog
session.
Depend on new version of cern-pymad
Add injectable parameters to Model.__init__

In particular `twiss_args` is now used explicitly.
Disable/enable match+select tools dynamically
Check for availability fo model before adding comparetool
Make plainopen work (preliminary)

works only if the .madx files
- contains a TWISS command
- does not reUSE the sequence after the TWISS command

TODO:

- consider all available sequences (not only active sequence)
- add menu/tool to set twiss_args
- improve logging / information
- read `elements` when needed
Merge pull request #18 from coldfix/plain-madx

Basic support for opening .madx files without associated models.