Nawqaan 209

Although it looks like main.js changed completely, it's only because I removed the spaces and replaced with tabs. Real new code is from line 104 to 118.
it doesn't seem like the definitions are actually used here, just needed for getDataAvailability.  I think if we do the siteHelp in one $.when() and have another for the dataAvailability which depends on definitions (i.e. $when(nar.definitionsPromise, getDataAvailabilityRequest).then(...)), this will be more clear than the chaining.