Add Jekyll::LiquidExtensions.lookup_variable

To use, just include `Jekyll::LiquidExtensions` as you please:

```ruby
class SayHi < Liquid::Tag
  include Jekyll::LiquidExtensions

  def initialize(tag_name, markup, tokens)
    @markup = markup.strip
  end

  def render(context)
    "hi #{lookup_variable(context, @markup)}"
  end
end
```

Fixes #2071.
Merge pull request #2253 from jekyll/var-substitution
Update history to reflect merge of #2253 [ci skip]
Fixed broken link to github training material site
Cleaned up cucumbers
Merge pull request #2258 from caffinatedmonkey/cucumber_cleanup
Update history to reflect merge of #2258 [ci skip]
Reset the collections hash on #reset.

Fixes #2234.
Fetch collection names agnostically regarding the data structure of config['collections']
Nil-out `@collections`  so `#collections` will re-compile
Don't pretend there is a collections setter
Don't read the collection if it's the data collection
Add a script/test file for :heart: and :money:
Always render collections, just don't always write them
Extract Collections metadata from site config
script/test should probably use bundler
NO MORE DATA COLLECTION I CAN'T HANDLE IT
Use Hash.new instead of hash literal
TEST THE COLLECTIONS
Add test for collections' new #to_liquid sturff