[NAN] Refactor session lifecycle to clarify API & eliminate race conditions

(cherry-pick of 2a73c7fb2a4aba4dd75341414f1583e5fb1f4613)

Bug: 27257965
Change-Id: I4d7eaa6fa1f089bed2e9185f59a37f59b530975d
(cherry picked from commit 88a60495458903bee3adaf8396b5f6d71a2c0b1e)
8 files changed