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
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
Support for passing variables to snippets in subdirs

Now you can use "include 'some/snippet' with variable".
Remove to_sym from condition creation

This prevents a DoS http://www.tricksonrails.com/2010/06/avoid-memory-leaks-in-ruby-rails-code-and-protect-against-denial-of-service/
Use public_send on condition creation

This makes sure you can't call Kernel methods like `throw`
Add history message
Merge pull request #273 from Shopify/make-if-less-dangerous

Make if less dangerous
security: Prevent arbitrary method invocation on conditions in if tag.