stdlib/lists: Add function droplast/1
This functions drops the last element of a non-empty list.

lists:last/1 and lists:droplast/1 are the dual of hd/1 and tl/1 but
for the end of a list.
Added tests for lists:droplast/1 to stdlib/lists_SUITE
Added documentation of lists:droplast/1
Import and use lists:droplast/1 in v3_core/v3_kernel

Also imported lists:last/1, and removed the local definition.
Use lists:droplast/1 in orber/orber_interceptors.erl
lib/wx - Replace reverse(tl(reverse(L))) with lists:droplast/1
lib/ssh - Replace reverse(tl(reverse(L))) with lists:droplast/1
Issue a warning when a named fun is constructed but not used
Add a spec for a function that does not return
Shut off a dialyzer unmatched return warning

Dialyzer does not like list comprehensions for which the result is not
assigned to some variable (maybe anonymous).  In this particular case,
the comprehension, containing only a filter but no generator, was used
to save some lines, but IMO this type of code, while "cute", is not so
easy to comprehend.
Document maps-related abstract syntax trees

	{map,Loc,Fields}
	{map,Loc,Argument,Fields}

	{map_field_assoc,Loc,Name,Value}
	{map_field_exact,Loc,Name,Value}
Support named funs in erl_prettypr
Don't munge record and field names in cover

They are bare atoms, atoms or variables in the abstract format, there is no need to
pass them through munge_expr/2.
Properly munge record updates in cover

Trees {record,Line,Arg,Name,Fields} were not munged.
lib/mnesia/test/ - Replace reverse(tl(reverse(L))) with lists:droplast/1
Support maps in the debugger

A test is commented-out in map_SUITE:t_update_exact/1, waiting for a fixed
maps:update/3 function with correct integer/float semantics.
sys_core_fold_SUITE: For cleanliness, move id/1 to the end
sys_core_fold: Prevent case expressions from being evaluated twice

In e12b7d5331c58b41db06cadfa4af75b78b62a2b1, a bug was introduced
that would cause case expressions to be evaluated more than once
if there were aliases in the pattern. Example:

   X = Y = io:put_chars("some chars"),
   {X,Y}

That would be rewritten to code similar to (but in Core Erlang):

   X = io:put_chars("some chars"),
   X = io:put_chars("some chars"),
   {X,Y}

Make sure that we only evalute the expression once by doing a
transformation similar to (but in Core Erlang):

   NewVar = io:put_chars("some chars"),
   X = NewVar,
   Y = NewVar,
   {X,Y}

Reported-by: José Valim
Reported-by: Anthony Ramine
gzio.c: Remove unnecessary usage of the OF() macro

Daniel Goertzen reported that commit 8a147a7365 broke building
of Erlang/OTP on Gentoo Linux because the macro OF() was missing.
Apparently, on Gentoo the OF() macro in zconf.h has been renamed
to _Z_OF() (to avoid polluting the global namespace).

Don't use the OF() macro in gzio.c since it no longer serves any
useful purpose (it provided compatibility with pre-ANSI/ISO C
compilers, but the rest of Erlang/OTP requires an ANSI/ISO C
compiler anyway).
Add more Common Test start arguments to the ts run interface