Introduce Sequence class

And make MLP inherit from `Sequence`
Mmm... I agree that overwriting it is probably bad form. However, I would allow for in-place modifications (e.g. when a user passes a list where certain elements which are `None` need to be replaced by some default). I can add it to the developer's guide.