Tidy up \tl_(g)set_from_file(_x):Nnn a bit

In the docs, this is mainly editorial: stick to the style we generally have
in our stuff.

In the code, as well as some editorial stuff and a few comments on what is
going on, there are a few changes. I've avoided needing anything global and
have used the "@@" convention. The code is also now in the right place in the
file. 


git-svn-id: http://www.latex-project.org/svnroot/experimental/trunk@5161 de43f980-851b-0410-b2f7-c40aca1f87e0
New Unicode-baed case changing functions

As discussed on the team list a while ago, having 'proper' case changing
functions is one of the things required to move away from the \lowercase/
\uppercase primitives being used 'directly'.

The implemenation is x-type expandable, as for \str_fold_case:n. However, as
the input here is tokenized the code is based partly on \__tl_act:NNNnn.
Naming-wise, I am not sure if \tl_upper_case:n, etc., is 'right' but it is
not I think too bad and similar to \str_fold_case:n.

The core stuff here follows Unicode more-or-less completely. Context-dependent
stuff is more tricky, as from our point of view 'look behind' matches are
awkward. Note that the Unicode docs tend to be written in very general terms
but in reality the number of possible sensible matches is quite small. One
think that may need more work is the 'final sigma' business, as I've gone for
a relatively simple approach that perhaps leaves more cases sub-optimal but
gains a decent amount of performance.

As with the string function, the approach here only gives 'full' results using
a UTF-8 engine.

One obvious question is whether the 'skip brace group' approach is right: it's
similar to BibTeX so is at least familar to many people.

If this approach/naming looks OK I suggest we deprecate
\tl_expandable_(lower|upper)case:n and look to remove end-2015.


git-svn-id: http://www.latex-project.org/svnroot/experimental/trunk@5162 de43f980-851b-0410-b2f7-c40aca1f87e0
add \box_resize_to_ht:Nn per user request

seems sensible to me; you might be trying to squeeze in a
header of fixed height but not care about descenders, etc.

should this function be called \box_resize_to_ht_only:Nn instead?

git-svn-id: http://www.latex-project.org/svnroot/experimental/trunk@5163 de43f980-851b-0410-b2f7-c40aca1f87e0
Add Dutch exception to case changing

In Dutch, "ij" is capitalised as "IJ" at the start of words. As this is a
simple ASCII case the change will work with pdfTeX as well as XeTeX/LuaTeX:
I'm assuming that if the user has two chars in the input they want two in
the output (there is a single Unicode codepoint for the combination in
all three cases). 


git-svn-id: http://www.latex-project.org/svnroot/experimental/trunk@5164 de43f980-851b-0410-b2f7-c40aca1f87e0
Add 'skip chars' for title casing

The list of exceptions is currently hard-coded and short: this is something
to raise on LaTeX-L I suspect.


git-svn-id: http://www.latex-project.org/svnroot/experimental/trunk@5165 de43f980-851b-0410-b2f7-c40aca1f87e0
Rename 'title case' to 'mixed case'

As Will points out, 'title case' here is misleading (although it is what
the Unicode Consortium use to describe the lower level operation as well as
the higher level, word based one!). For the moment, use 'mixed' as at least not
misleading: I will raise on LaTeX-L.


git-svn-id: http://www.latex-project.org/svnroot/experimental/trunk@5166 de43f980-851b-0410-b2f7-c40aca1f87e0