Add mesh ID.

For global matrix and vector assemble a unique mesh id is required because we are dealing with multiple meshes simultaniously.

I propose (taken shamelessly from [the wiki](http://en.wikipedia.org/wiki/Curiously_recurring_template_pattern#Object_counter)) to use a global counter for this.

I prefere this to setID() method, because the id assignment is consistent (although not thread-safe yet).

Same code can be used to enumerate variables and other objects which require unique id.