Liquid has UTF8 support.
Add security tests to show that the symbol table doesn't grow
Remove #to_sym calls from Drop and Variable

Symbols are not needed here and using plain strings is nicer on Ruby
Change Drop method lookup to not hit respond_to?

Class.public_method_defined? ends up diving into Ruby's core looking for
a method with the given method_or_key. This process at some point turns
method_or_key into a Symbol. This change no longer takes that path and
thus doesn't grow the Symbol table.
Convert Strainer to white-list method protection

After moving the method existence check from Context into Strainer,
updated Strainer to only accept invokation methods that were added via
filter Modules, and done in a way that respond_to? is never called,
preventing unconstrained Symbol table growth.
Use sets to check if methods are invokable without symbolizing.
Add support for filter keyword arguments. Closes #175
Merge branch 'master' into remove-symbolizing

Conflicts:
	lib/liquid/variable.rb
Merge branch 'remove-symbolizing'
Release 2.5.0
Merge branch 'master' into liquid-utf8

Conflicts:
	lib/liquid/variable.rb
Merge pull request #185 from ISSIntel/liquid-utf8

Liquid UTF-8 support
Use array instead of Hash to keep the registered filters

1.8.7 compatibility fix

In Ruby 1.8.7, Hash does not preserve insertion ordering as Array does.
This could cause a problem when registering filters which depend on others and
the registration order is important.

So, the @@filters variable was changed to array where the order of the filters is
the same as the insertion order.
Merge pull request #135 from astathopoulos/preserve_filters_ordering

Use array instead of Hash to keep the registered filters
Revert "Merge pull request #185 from ISSIntel/liquid-utf8"

This reverts commit c5dfcd29b0937e0d84780f11f61919faa4741806, reversing
changes made to f7d1e1d0c1336a9c51d652f07e0187b429e154e4.
Merge pull request #192 from Shopify/revert_utf8

Revert "Merge pull request #185 from ISSIntel/liquid-utf8"
Fix some old templates that abused colon as an argument separator.

This is a fallback for keyword argument parsing since this feature broke
old templates that accidentally used a colon as a filter argument
separator.