Added a setting for Mac address for each Plex Server

This is the first part of Wake-on-LAN (WOL) functionality for Plex on
Roku.

All this commit really does is add a setting to set the MAC Address of a
Plex Media Server that's being used.  The MAC Address is required as
part of the WOL protocol.  This should have been relatively
straightforward, but there were a number of challenges, namely:

* The Roku doesn't seem to have the ability to manage ARP packets via
BrightScript or offer any functions to do an ARP.  Otherwise, we could
have scanned the MAC Address by IP, and not even required the user to do
anything for WOL.
* The list of Plex Media Servers is stored in a horrible comma delimited
string, which would have been problematic to change to maintain
backwards compatibility.  I therefore created a new Registry entry,
"serverData" which is a tidy JSON storage for server settings in future.
This of course required the addition of a JSON encoding library, which
has a compatible license.
* The settings menu seems to have been designed with absolutely no
hierarchy in mind.  I've noticed ljunkie has struggled with this issue
as well - there should be some considerations about trying to come up
with a more flexible design for this in future.

To add a MAC Address to your server, simply Go into "Preferences" ->
"Manage Plex Media Servers" -> "Edit <server name>" -> "Edit WOL Mac
address".   This should be in the format of xx:xx:xx:xx:xx:xx, or the
value won't be accepted.
Implemented working Wake-On-LAN Functionality

This is the final part of Wake-On-LAN (WOL) functionality for Roku Plex.
It adds an extra setting to the Server settings - an optional "SecureOn"
password that is used for WOL.

Before making an HTTP request for PMS's library, Roku now checks to see
if there are any WOL settings saved.  If there are, it first sends 5
Magic packets to wake up the server.  These packets are sent over 500ms
and are synchronous (therefore hold up the boot process).

From my testing, there has always been enough time for the HTTP request
to successfully reach the server after a wake-up.  This might need to be
optimized for slower servers.
Fixed Wake-On-LAN not working after long intervals

This commit makes use of multicast addresses rather than sending the WOL
directly to the server.
Initial WOL cleanup
cleanup some syntax and send multiple WOL requests to a server with multiple IP's
removed need for colons in mac address ( annoying to enter ). misc cleanup
allow initial value passed to be 'invalid' without crashing the roku
removed server ip (connectionURL). WOL for now is a layer2 broadcast. We only care about MAC address and Roku's IP broadcast address