Closing #930: Add Idempotent annotation.

Also updating the license headers.
Merge pull request #939 from Microsoft-CISL/weimer_930

Closing #930: Add Idempotent annotation.