Add a Liquid filter `to_xpath`, which quotes a string for use in XPath expression.
Move the Save button right under the options.

It's nice for each Agent to have a good, detailed description, but
currently the Save button will be gone too far below when the
description is very long in height.
Agent#valid?: Rescue Liquid::Error and save it in errors.

Calling valid? should not raise any exception in general, and in our
case it is undesirable for a syntactically wrong Liquid template in
options to cause Internal Server Error in validation.
Add a dedicated validator for interpolation.

We need this because not all agents perform interpolation in their
validate_options methods.  Now that we have validate_interpolation,
interpolation failure in other validators are simply ignored.
`uri_escape`: Do not fail when nil is given.

Do just the same as the standard filter `url_encode`.
HipChatAgent: username length limit is 15 chars

Also try to use travis-cis bundle caching
Merge pull request #467 from dsander/hipchat-username

HipChatAgent: username length limit is 15 chars
Merge pull request #465 from knu/move_save_button_up

Move the Save button right under the options.
Extend the spec to give a better idea on how to use `to_xpath`.
Merge pull request #462 from knu/liquid-to_xpath

Add a Liquid filter `to_xpath`, which quotes a string for use in XPath expression.
Make `to_xpath` stringize a non-string operand as the standard filters do.
Merge branch 'master' into 'website_agent-response_drop'

Resolve conflict by splitting merged specs.
Improve the template by using capture and to_xpath.
Get the parameter parenthesized.