Add a class cache to avoid runtime extend calls

 * Strainer has a class cache that creates Strainer subclasses for each filter
   set that is used on .create calls.
 * Context now creates a list of filters and passes this to Strainer.create to
   utilize the class cache in almost all use cases.
 * If add_filter was called after a render, then the method cache may still be
   invalidated.

Conflicts:

	lib/liquid/strainer.rb
Strainer test now works on 1.8
Fix bad range parsing.
Update against failed cherry-pick
Merge pull request #253 from trishume/fix-range-parsing

Fix bad range parsing.
test for the Jekyll's issue: [Liquid doesn't render my partial · Issue #1519 · mojombo/jekyll](https://github.com/mojombo/jekyll/issues/1519)
remove `include Liquid` from the class `CustomInclude` and substitute `QuotedFragment` with `Liquid::QuotedFragment`
Move stuff in test around
Fix handling of unknown tags in comments
Merge pull request #256 from Shopify/unknown_tags_in_comments

Fix handling of unknown tags in comments
Revert "Merge pull request #256 from Shopify/unknown_tags_in_comments"

This reverts commit 1ae8c0e90a18e2764d83662c3913f3c8faa3dcad, reversing
changes made to 01d352bc51f2ff2b51e0416478449ed4efe940f6.
Add regression test for comment tag
Fix unknown tags in comment tags, second try
Merge pull request #257 from Shopify/fix_comment_tags_second_try

Fix unknown tags in comment tags, second try
Fix i18n regex warning in Ruby 1.8
Merge pull request #261 from Shopify/fix-i18n-regex-warning

Fix i18n regex warning in Ruby 1.8
Make blank? default to false for all tags to maintain backwards compatible
Regression test for change of blank? default behaviour (2efe809e11ee5db6feea5e62d6c6585471f9f8b5)
Fix map filter on Hash inputs
Update history

Add 3.0.0 history
Add changes related to 2.5.x