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.
Adding support for .rb extension

Fixes #376
Adding fix for #376 to minified js
added !makensis command
Add a "Third-party language definitions" section
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
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)
Move invalid alias declarations, which cause HTML highlighting to fail

The alias declarations in prism-javascript.js and prism-css.js are in
the wrong place and must be moved inside of the pattern object.
Otherwise they get injected into the markup grammar. The execution
fails, because the alias is a string and not a RegExp.
Revert invalid move of the language-css alias

One of the language-css aliases, which was moved inwards by the previous
patch was actually in the right place. This patch reverts the change to
correct the newly introduced error of the previous patch.
Add NASM (Netwide Assembler) language definition.