Added copyright, note, and minor improvements.

Added copyright, various description notes, readme.
Added CMS_EXTERNAL_LINK, and improve various link interfaces.
Structured the model library with sub folder: user, link and content.
yes and no .. I added invariant because I dislike adding semi-colon to please the compiler 

I prefer empty invariant clause like

    invariant
    note

rather than 
    ;note