First pass at adding forecast to dashboard

Also trying to move the ExternalWeather.php to a better object model
(It's not there yet)
Needs some tidy up on the Ajax implementation logic or else there will
be an explosion of function pairs just to load data.