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)

All feedback is appreciated.
I thought about it too. Seems like it will work in most cases. I use it in the `invariant` which is not wrapped in `if (__DEV__)` though which might be an unlikely edgecase cause of problem?