Miscellaneous Version Changes

We are now in 1.0.3, so I've updated this in some places, will do a sweeping change for the rest upon confirmation

Felt that LRS MUST accept may leave some cases that an LRS MUST NOT reject was clearer about (picky, I know, but seemed more accurate)

We can't enforce a description will be meaningful, so I changed that part to a SHOULD

Header language wasn't disambiguating name from value, so I added the value to the corresponding tag

Finally, I don't think we care too much if systems convert between the 1.0.Xs, what we care about are breaking changes i.e. minor and major versions.
This change is a significant behavior change from the previous versions. Up until this point (for better or worse) if I made a request using 1.0.1 for instance the statement would have version 1.0.0, presumably that is the same for 1.0.2 (though that has other bigger problems related to anything in this request bumping from 1.0.1 to 1.0.3). This change now means that if I make a request using 1.0.1 that the statement will come back to me as 1.0.3 instead of 1.0.0. 

So, how do we want this to *actually* work and can we switch the wording in the specification to be something more generally dynamic rather than making a sweeping edit to a bunch of different places in the document. Then there is the issue of what someone does when they are looking at the canonical master here which has changed since the last tagged version but is somehow different.

Is it time to switch to a branching model for the spec so that we can work on it in interim states then only merge at a release point and tag?