Fix tmpl_from_attr_substr()

So that it stops at the first non-attribute character,
instead of erroring out.

Issues found by the new expression parser
Fix rlm_expr to use correct operator precedence.

Along with attribute references.  And !1 and -1.
And attribute references.  And documentation.
Add left / right shift to expressions
Typo
Make grp tallo'c, too
Maximum length on EAP identity
Unlock, not lock
Fix checks for PW_TYPE_FILE_INPUT
Remove unused variable
Use shift and OR instead of multiplication by magic number
More descriptive error message
Use attribute references instead of string expansions.

Which skips a few steps of xlat.

If the attribute doesn't exist, it's value defaults to zero
Allow cast of ifid to integer64
Change ! to ~, as that's what it really is.
move fr_pow to rlm_expr.  No one else uses it.
Parse perlconf before running the initialization subroutine
Clean up fr_pow()
dhcpclient: Load dictionary.dhcp from DICTDIR.

Load dictionary.dhcp from DICTDIR instead of RADDBDIR in dhcpclient.c,
as it is found only in the former.

This fixes the following error printed when invoking dhcpclient:

    Failed reading dictionary.dhcp: dict_init: Couldn't open dictionary
    "/etc/raddb/dictionary.dhcp": No such file or directory
Merge pull request #805 from spbnick/dhcpclient-dict-load-fix

dhcpclient: Load dictionary.dhcp from DICTDIR.
Try this... helps with #806