Use window if 'this' is not defined

Signed-off-by: Ryan Chen <ryan.chen@turn.com>
Merge pull request #159 from turn/personal/rchen/fix-this-object

Use window if 'this' is not defined when using browserify 'require' function
clarify init function in README
Ensure default timezone offsets get cast as a Number

The pre-parsed json data has offsets as a string.  Unfortunately
timezone-js was not casting them to a number so in many cases the new
calculated times were wrong (e.g. 5 + "60" = "560" instead of 65) or
caused NaN errors when passed to date.setUTCMinutes (e.g. 5+"-60" = "5-60").
Merge pull request #160 from sdemjanenko/cast_offset

Ensure default timezone offsets get cast as a Number
Add undefined check

Signed-off-by: Ryan Chen <ryan.chen@turn.com>
Merge pull request #163 from turn/personal/rchen/fix-jasmine-error

Add undefined check for jasmine tests
Removed southamerica region exceptions and just lazy load both northamerica and southamerica for the 'America' region - Issue #157
Merge pull request #164 from Enlighten/master

Load both north and south America Olson files for the 'America' region
remove debug info from preparsed json
Merge pull request #165 from alim-akbashev/master

remove debug info from preparsed json
Check if date is a valid date

Calling new Date(undefined); produces as a date object, which holds
"Invalid date".
Working on this object could produce very strange results.
Throwing an error in that case may help debugging.
Merge pull request #166 from Ajnasz/check-date-valid

Check if date is a valid date
fix: default format for toString method
update unit test to match default toString() format