S-48823 WIP: require apiKey for API access

Read config.apiKey from config and match against incoming requests; 403 if no match.
S-48823 WIP: created apikey.js middleware to encapsulate logic

app.use(apikey);

This makes each request go through this middleware. However, I don't use it
until after setting up the static routes, which means they are still
accessible without the API key. However, this makes /instances crippled
because it wants an API key to call upon /api/settings now! So, this needs
to be addressed or deferred cleanly.
S-48823 /instances takes API key parameter now
S-48823 Bonehead mistake on missing != for string compare
S-48823 /app returns URL with API key if-and-only-if API key passed initially
S-48823 index.html requires ?key parm and warns on null/empty
S-48823 Added warning about the order of middleware funcs
S-48823 Display error when 401 returns on /instances
S-48823 Use 'data' instead of 'result' for naming consistency in $http callbacks
S-48823 Use displayError func for .error for get/post
Move app.use(cors()) to right place

Avoid CORS error for static template get

S-48823
Merge pull request #9 from openAgile/S-48823_SecureAPI

S 48823 secure api