Issue title: Questions related to STAC versions
 Issue body: Due to my work on a specification (openEO) that is based on STAC, some questions came up recently:

1. Is STAC (i.e. releases and the field stac_version) following Semantic Versioning? So is any breaking change after 1.0.0 leading to a version 2.0? If not, how is the procedure regarding version numbers and breaking changes?
  *Why is this important?* I want to future-proof the openEO API and not just allow version 0.9.0, but also also all versions that are non-breaking after 1.0.0. Getting this information allows me to actually validate the stac_version field (e.g. with a pattern such as `^(0\.9|1)\.`).
2. Is it fine to deliver any STAC version via any STAC API version? For example, can I implement STAC API 0.9 and it responds with STAC 1.0 or 0.8 items/collections? According to the OpenAPI file it seems allowed: https://github.com/radiantearth/stac-api-spec/blob/master/STAC.yaml#L1311
  *Why is this important?* How can I base a specification on STAC API that is STAC 1.0 compliant without having a "final" STAC API spec yet?
    * If answered with "yes", how to detect which API version is implemented? This is related to https://github.com/radiantearth/stac-api-spec/issues/27.
3. To use 1.0 extensions that are not part of 0.9, I think the way to expose these via "stac_extensions" is to not use `timestamps`, but (see #835) `https://schemas.stacspec.org/v1.0.0-beta.1/extensions/timestamps/schema.json`, right?
 Comments: 
 Comment 0: 1. I'll take on - put in language about sem ver
2. Discussed on call for 6-22-20, decided that the answer is 'yes', a STAC API can respond with different versions. For the betas we don't have a great way to resolve which api version is implemented, though the features api version may help a bit. And we will work to get it more clear for 1.0 of stac api.
3. This is resolved
 Comment 1: 1. PR is #855
2. I guess the way to resolve it is as follows:
  - All STAC APIs prior to 0.9 are bound to the respective STAC versions
  - STAC 0.9 can either be a STAC 0.9 or 1.0 API. It is distinguishable by the stac_api_version field, which we'll include for 1.0. If it's not available, it's a 0.9 API.
   - Everything after STAC API 1.0 has the stac_api_version field.

    Do we need to document that somewhere?
{'source': 'GithubIssues', 'repo_name_with_owner': 'radiantearth/stac-spec', 'issue_id': 640266172, 'repo_stars': 581.0}