Fix the alphabetical order of ‘Say’ in the instruction documentation
Document the ‘think’ opcode and instruction
Add an example script demonstrating Character:thinks()
Add ‘think’ to the list of character-activating opcodes
Remove Character:monologue() by teaching say() to accept lists

Because of the __call() metamethod any strings we give directly to
Character objects act as contents for say().  We implemented
monologue() to accept a table of strings so that we could avoid
writing out a character’s name over and over during a conversation.
For this purpose we used a separate monologue() method in dialog
scripts and had an associated ‘monologue’ opcode.

However, that method and opcode are unnecessary if we rewrite the
‘say’ opcode to accept either a string or a table.  If given a string
then ‘say’ behaves the way it always has.  But now if we give it a
table we see results as if we used monologue().

Overloading say() in this way, so that we can remove monologue(),
helps improve the simplicity of dialog scripts just a tiny amount.
This patch modifies the relevant example to demonstrate.
Implement Character:thinks() method and related opcode

This patch gives all Character objects a thinks() method which is
syntactically the same as says(), but is semantically used to
represent character thoughts.  The method creates one or more new
‘think’ opcodes.  Ideally we would use these opcodes with a specific
instruction to control their display, but for now we convert ’think’
opcodes into ’say’ instructions and print their contents in that way.
Merge branch 'character-thoughts'

* character-thoughts:
  Implement Character:thinks() method and related opcode
  Add ‘think’ to the list of character-activating opcodes
  Add an example script demonstrating Character:thinks()
  Document the ‘think’ opcode and instruction

Conflicts:
	src/character.lua
Makefile: Always rebuild documents via ‘make docs’

Traq-Ticket: 26