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
Correct if-statement nodelist.
The nodelist returned by all tags is a list of containing nodes, except for the if tag.  This correct that inconsistency
Update against failed cherry-pick
Add a test for corrected if-nodelist
Merge pull request #3 from dntj/master

Add a test for corrected if-nodelist
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
Bump version to 3.0.0
Merge pull request #266 from Shopify/fix_map_on_hashes

Fix map filter on Hash inputs
Add default filter to standard filters
Improve Rakefile
Merge pull request #268 from Shopify/better_rake

Improve Rakefile
Add default filter to history
Merge pull request #267 from djreimer/default-filter

Add default filter to standard filters
Drop 1.8 support on travis CI and add 2.0.0
Put travis badge on top
Update README.md

Remove old wiki link