Specify device recipients by nickname, contacts by email address.

Hi Dirk, 

Glad those changes I had made earlier worked. I ended up playing with this a little more to try and get it to send to contacts by specifying their e-mail address, and to devices by 'nickname'. The changes got a little more involved, but it seems to be working for me.

One of the changes I made here is that if the JSON configuration file doesn't have 'devices' specified, then it uses the API to fetch a list of devices. I made a similar function for fetching a list of contacts, but this isn't used anywhere. (Could be useful to check that the emails specified as arguments to the `pbPost` function are valid.)

From your previous comments, I removed some dots in the variable names to avoid any conflicts.

I'm not sure if any of these changes will be helpful for you, and since it does change the way the `pbPost` function specifies recipients, feel free to use any portion of this code that's useful for you.

Cheers, 
Mike 
There is probably a better way to do this.
The intent was so that if `devices` was not specified it wouldn't error out, and would allow for `.getDevices()` to call the API to get a list of devices.