Added support for readable hashes

Section id attributes can now be used for readable hashes, e.g. #downloads instead of #3.

Also fixed a bug when both updateURL and loop properties were enabled, causing the url hash to go to zero or above the highest index.

To prevent the browser from forcing the default jump-to-id behavior, screen sizes above responsiveFallback width will use an exclamation mark prefix (#!section). Below the responsiveFallback width the prefix is removed and the native behavior occurs.

When the plugin is initialized, an index -> id attribute mapping array is generated and if idToURL is enabled, it's used in place of the slide indexes whenever url manipulation happens.

Quick and dirty solution because I needed this feature in a hurry. I'd recommend refactoring all the move* methods, as they have repeated code and all changes have to be made in multiple places right now.