Updated specification to group related components

I have updated the specification to use the `StandardLibrary` element syntax, which is closer to what we agreed upon in the meeting (with the addition of the webpage attribute and making it a member instead of an attribute). This is how I have implemented it in the Python library, but I am happy to change it if you would prefer it went back to being an attribute of the `Dynamics/RandomDistribution/ConnectionRule` tags.

I have also grouped related elements into sections, converting the User/Abstraction Layer sections into latex document "parts"  along the lines of what Andrew was suggesting. I couldn't get the style quite right for the parts so if you know how to do this could you please update the ninemlspec.cls file so that the parts are placed in middle of the page and only show up on one line in the contents (thanks!). There are still many descriptions left to fill in but Andrew was going to have a go at this I when he gets the chance.