Fix for DFS bug with new pattern array feature

This patch implements support for the new pattern array feature in the
Prism.languages.DFS function and fixes a bug in the autolinker plugin.

It adds an optional parameter to the callback of Prism.languages.DFS,
which contains the type of the current object as oposed to the key in
the parent. In most cases both key and type are exactly the same. Only
if the parent is an array the key will contain the index number and the
type will contain the attribute name of the array in the parent object.
The key can be used to replace the object in the parent and the type can
be used to provide the necessary context.
Merge pull request #360 from zeitgeist87/FixAutolinker

Fix for DFS bug with new pattern array feature
Adding support for .rb extension

Fixes #376
Adding fix for #376 to minified js
Merge pull request #377 from nfriedly/patch-1

Adding support for .rb extension
added !makensis command
Merge pull request #380 from idleberg/gh-pages

added !makensis command
Add a "Third-party language definitions" section
Merge pull request #383 from SassDoc/add-scss-sassdoc

Add SassDoc syntax extension for Sass
added scheme language
added single quotes and a punctuation tag for parens
whoops added so the 2 in something like log2 won't parse as a number
added minified file & removed uncessary objects
Merge pull request #387 from bacchus123/gh-pages

Scheme language highlighting
Make HTTP response-status case-insensitive
Merge pull request #388 from lvgunst/prism-http-case-insensitive

Make HTTP response-status case-insensitive
CSS highlighting in HTML style attribute
Make insertBefore() update pointers to the object from other language definitions.
Use case/Example: In dabblet, code-highlight.js adds some extra tokens to CSS. But CSS also extends markup to highlight CSS in style elements/attributes and that happens *before* the extra CSS tokens were added. However, because references were not updated, CSS highlighted in markup was using the original CSS definition, without the added tokens. I’m surprised we haven’t caught this earlier, I’d expect it to affect many advanced uses of Prism.
Added language-xxx aliases in nested language refs to ease styling
insertBefore() with only two arguments appends (similar to how DOM insertBefore() behaves)