Whitelist and other improvements

It's a bit of a big one - but a hugely worthwhile update I think :)

07/24/2013
- fix for Fatal Exception when notify admin is set with invalid email address
- general code cleanup
- adds support for cloud hosting/load balancers for getting IP address
- support for protecting multiple configurable pages with IP cache
- support for whitelisting IP addresses and emails
- support for spam check on login (to catch spammers reported since initial registration)