Refactor linkify code

- mv public/javascripts/linkify.hs public/javascripts/lib/linkify.js
- Redefines linkify() as an AMD module
- Moves specific "link type" regexps and transformation out of linkify function to avoid re-allocation on every call
- Adds test cases for inline linkification (adapted from cases originally  written by by @gnarf under Apache License)
- Replacement operation in two steps
- Escape message contents
- New Dependencies:
    - requirejs (the node module)
    - amddefine
    - grunt-contrib-nodeunit


Master: 

![http://gyazo.com/4ae010cd27993988586256da6f528559.png](http://gyazo.com/4ae010cd27993988586256da6f528559.png)

Refactored:
![http://gyazo.com/1db4b1403341110eaf81e0aae7bc9046.png](http://gyazo.com/1db4b1403341110eaf81e0aae7bc9046.png)


Signed-off-by: Rick Waldron <waldron.rick@gmail.com>