Feature/revise spec

DO NOT MERGE. FOR DISCUSSION ONLY. @zdne @honzajavorek Please comment.

This PR updates the SPEC based on @zdne and my multiple discussions and refinements.

It also pulls in the current README with some typo fixes. 

@zdne I basically forked and update your branch for this PR into master. Would you prefer I just fork off of master and just create a branch the only adds the spec? Let me know.
Using `##` is inconsistent with the use of `nested Markdown-formatted lists` in *Nested Member Types*, if you want to provide a fixed example (like `##`) plus the mention `SHOULD be nested one additional header level...` then you could that too in the case of list items and use `   -` instead of `nested Markdown-formatted lists`