Fix case where a variable name is falsy

https://github.com/Shopify/liquid/pull/443 changed the behaviour of `parse` to build Ruby objects right away. This means that the variable `false` would have `@name = false` rather than `@name = 'false'`.

@dylanahsmith @fw42 
Oh, it looks like Variable is used in the Assign tag, and it is assuming that render returns an object rather than a string.  I think it might be the Assign tag that should be using Expression.parse and context.evaluate instead of using Variable.render.