Wrap storage polyfill tests in try/catch to avoid browser errors.
Better strategy to avoid browser security errors.
Use a polyfill object when localStorage is restricted by browser security policy.
Move grunt tasks to grunt subdirectory (using grunt-load-options).
Add sftp deploy task.
Update build.