Localization: Improved valid shell language check

- Instead of using a string length of 7 (arbitrary to exclude C.UTF-8,
I believe) we check for valid syntax.

- Slight restructuring of the language initialization to ensure gettext
is available

- Renamed submit_lang to change_lang and moved the initialization
portion to the top of main.php. This allows for dynamic language
changes without reloading whole page (although reload is still needed
for content already sent to the browser).

- Suppressed PHP warning for the micro controller version of
OpenSprinkler when checking if OSPi is running on the local machine
Localization: Fixed bug preventing language from being changed

The bug only affected user’s of the micro controller version of
OpenSprinkler.

Consolidated changeConfig and changeConfigString functions. Also added
a sanitize to string variables.
Status: Minor UI improvements

- Moved the remaining program time to the next line because in certain
circumstances the time can shift from line 2 and 3 as the time changes

-  Improved the spacing around stations in current status page while a
program is running

- Slight resize of remaining time text so it fits on iPhone’s
Base: Improve jQM 1.4 support

Phasing out deprecated items
Assets: Reword description in settings menu
Localization: No longer requires locales to be installed

Previously only installed locales where shown. Now, any available
language can be selected. Additionally, microcontroller user’s no
longer see a text box but are instead greeted with the same select
option as OSPi users.
Localization: Fix handling of charset in language setting
Localization: Fix installer to show list of languages
Preview: Fix left/right arrows not showing over legend
Merge remote-tracking branch 'upstream/master'