gui2/tgamestate_inspector: Use write() function for printing WML objects

The write() function from the WML parser is a dedicated WML
serialization mechanism that is also used to write saved games and such,
and thus it will output WML in the same format that the game would
normally use. The config::debug() method we were using here before,
instead, only implements a simplified strategy that will not produce
valid multiline attribute values, for example, or include any textdomain
directives applicable to the contents.

If we are to have a way to copy the inspect window's contents, it should
prove far more convenient for coders to see the generated WML in the
same format as it would normally be saved to disk.
gui2/tgamestate_inspector: Add a button to copy contents to clipboard

This copies the contents of the main display area to clipboard. The
button currently lacks a tooltip because the tooltip causes map labels
to glitch through the dialog when displayed (noticeable in e.g. the test
scenario). I'll file a bug for this issue later using a (commented-out)
line introduced by this commit as a test case.
Merge branch 'feature/inspect-copy-paste'
pass display as an argument to unit::invalidate

Previously it always used the singleton display function, but this
seems better.
remove unnnecessary location argument from unit::invalidate

This function was always called with the current location of the
unit as the argument, so we simplify it.
unit animation fcns become const

This commit makes the main unit animation accessor / mutator
functions applicable to const units, and makes the animation
state member variables mutable to allow this.

const'ed member functions:

set standning
idling
selecting
ghosted
disabed_ghosted
clear_haloes
refresh
invalidate
redraw

mutable member variables:

animation state enum
boost scoped pointer anim_ (can be reset in the redraw fcn)
next_idling_
frame_begin_time_
unit_halo_
refreshing_
draw_bars_

The purpose of this is to improve encapsulation of units, as now
we can use const units in the display functions, and reserve non-
const unit references for use in the game logic.
wmlscope: fix mistakes in help and options pointed out by Elvish Hunter

See EH's forum post:

http://forums.wesnoth.org/viewtopic.php?f=10&t=40397#p570438
add janebot to credits
wmllint: fix substitution that was missing a slash
wmllint: reorganize help into mode options and other options

The organization of Elvish Hunter's wmllint GUI tab suggested this change.
invalidate units fcn treats units as const

Since the relevant functions are const from previous commit.
unit redraw fcn treats units as const
display object uses a const unit_map * internally

This was made possible because const units may now be drawn and
animated. There are some clients of the display object that still
call display::get_units, which is a non const getter, and which
we support by a const cast. The next step of refactor is to get
rid of that, but in this step we have at least gotten rid of all
internal uses of the non-const unit map.
fix unused variable
display::change_units takes a const argument
facing and hidden become mutable attributes of unit

This is needed to be able to do animation with const units.
only const unit_map in display, unit_attack fcn uses game_board

This commit makes all the necessary changes to allow
display::get_units() to return a const unit_map rather than non-
const, and to eliminate display::get_const_units(). This allows
us to eliminate a const cast introduced in prior commit.

In leader_scroll_dialog, unit_animation, and some places in
unit_display, we change the call display::get_const_units to
get_units, and mark the return type as const.

In unit_display::unit_attack, we can't do this because that fcn
also calls unit::take_hit which is part of the game logic and
should not become const. We make that function take a reference
to game_board instead and pass resources::game_board from the
caller. Also we pass display in as an argument from the caller,
to improve encapsulation marginally.
Merge branch 'units_draw_const'
remove outdated comment

there are random calls before "prestart" and we already use "random_new_deterministic" in that case.
Move load_from_disk out of image::locator.