Fixed a syntax mistake regarding blocks in specs.

The block wasn't passed to `raise_error`, due to missing parenthesis
around it and the block.
Adding them would've looked a bit awkward, so I put the second
expectation in a lambda and passed it as a block to `raise_error`.
Add specs on Module#const_get raising a NameError with missing constant.

NameError should be raised with the missing constant as the second
argument, so it would show up when calling `#name` on the error.
Module#const_get: raise NameError with missing constant name.
Add specs on destructuring assignment and objects with private #to_ary.
Add specs on destructuring assignment and objects with private #to_a.
Add specs on Kernel#Array and objects with private #to_ary.
Add specs on Kernel#Array and objects with private #to_a.
Improve specs on String#chars with encoding change.
Untag passing spec on String#chars.
Untag passing specs on String#each_char.
Better detection of lchown / lchmod

The problem was that Linux behavior regarding lchown / lchmod is really
annoying. lchmod is defined and can be found with the default header
settings, but at runtime it always fails with errno ENOSYS.

This results in failures such as this:

https://travis-ci.org/rom-rb/rom-relation/jobs/9530098

This tries to create a better detection with the options that should
match the runtime behavior reasonably well. This also fixes the issue in
the travis build with regard to lchmod.
Merge pull request #2509 from razielgn/string-chars

Improved specs on String#chars with encoding change & untagged passing spec.
Add specs for Enumerable#take_while
Add a spec for Enumerable#grep
Fix Enumerable#grep with multiple yield arguments
Fix typo. [ci skip]
Fix typos.
Add highlight for inline code. [ci skip]
Update generated files for the website. [ci skip]
Update jekyll command. [ci skip]