Updated makefile for head staging
Send all challengeComplete data in post body

This includes case and activity names, and whether the
user was successful.

Data keys left the same as the original query parameters.
Move reporting of success to endChallenge for all challenges

Most challenge types were reporting that a challenge was complete
for every successfully-matched dragon, which in a challenge where
multiple dragons needed to be matched was incorrect.

Also, this centralizes the call for the majority of the challenges to
the challenge.js version of endChallenge, which will reduce code
duplication.
Report stars earned for all challenges in info property

If a challenge is successful, we include an "info" object in
the post body with stars set.
Submit to /challengeProgress when challenge isn't successful

Users stay in the challenge when a match is incorrect, or when they
submit something incorrect. They're not completing the challenge,
so, since we're adding a new /challengeProgress route anyway,
it makes sense to see this is "progress" data.

More info will be added to this progress data in next commit.

NB: This makes the "win" parameter redundant, but it's left in to
help backwards compatibility.
Add logging of incorrectly-sumbitted dragons and solutions

For all match and invisible dragon challenges, we submit the
student's answer along with the correct answer (as the correct
answer may not be the same for all students).
Add action string to all challengeProgress messages
Report to whyville each time we breed or create a dragon

If we breed a clutch, just report parents. If we create a
dragon by pulldowns or by meiosis, report the actual dragon
requested.

Note that this will send messages at the start of a challenge
when dragons are being initialized.
Reduce reporting of initialization dragons

This will prevent initial parents from sending a message
to whyville about dragon creation. Pulldown challenges will
still report their initial state.
Merge branch 'whyville-logging' into whyville