Give context aware message if markup reuse fails

This change calculates the longest common substring between the server side rendered markup and the client markup and uses that to give context about failure to the developer.

The context is an extra message with comparison of where server and client markup started to differ: 

![image](https://cloud.githubusercontent.com/assets/35656/5238366/ed1b1c0a-78ae-11e4-810d-67afe4ca9817.png)


**Note:** I used `longestCommonSubstring` from http://en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Longest_common_substring. I'm not sure how the impact of this regarding license (it's CC licensed afaik).

All feedback is appreciated.
This is going to blow up. n^2 storage where n is the length of the html. Going to be huge very quickly and you don't really need it. Can you just find the first character that differs instead and display [-20;+20] range from there?