What is the difference between Micheline and Michelson? Is Micheline a subset of Michelson?
Micheline is the concrete syntax of Michelson.
The concrete syntax means that it is the part of language in which Michelson is actually written and doesn't deal with semantics (evaluation, etc.).
I have recently written a documentation page for Micheline that might help you better understand what it is: https://tezos.gitlab.io/whitedoc/micheline.html