Simplifies gemspec.

Eliminated repeated executables assignment. Generates test_files via
git rather than hard coding.
Bumps version number
Fixes tp-review display bug on non-UTF-8 systems.

The Highline gem used in tp-review for shell display converts strings
to the system encoding via force_encoding. This is problematic on
US-ASCII systems since some UTF-8 bytes are not valid US-ASCII,
producing an "invalid byte sequence" error from String#gsub when
tp-review goes to display a HIT submission body via Highline#say.

To workaround this property of Highline, we now only send HIT body
strings to Highline after converting them via String#encode IF their
encoding does not match the system encoding.
Fixes encoding issue across tp-review.

The encoding issue described in the last commit
(68130a15586d8f4e03d185a2e91bf660ca762046) is now fixed for all
strings emitted to the terminal, not just HIT bodies. This ensures
Highline "invalid byte sequence" errors really truly will not recur.
Moves Test.app_dir.

Moves Test.app_dir to Utility.app_dir so it can be called outside of
tests.
Merge branch 'encoding-fix' of ryantate.com:git/typingpool

Pulls fix for encoding issues encountered in tp-review on US-ASCII
systems due to Highline issue.
Easier capturing of bin STDERR in test suite.

Test::Script#call_script now ouputs both STDOUT and STDERR as a
two-item array. Previously only STDOUT was output. Only one old test
had to be changed. This is needed by a forthcoming test.
Fixes reward display and pre-checking bug in bin/tp-assign.

Previously, tp-assign failed to display the correct cost of assignment
in the confirmation message when using the default reward (as read from
the config file). When using the default reward, a total assignment
cost of $0 was displayed. Also when using the default reward,
tp-assign failed to properly calculate the total cost of the
assignment run when pre-checking the cost of the assignments vs user's
available balance.

The correct reward was always sent to Amazon servers when actually
assigning the task. This could hypothetically cause a batch of
assignments to fail partway through if the default reward was being
used and if the total account balance was exhausted before all
assignments had been issued, since the pre-assignment total cost check
had not been propertly computed.

This commit fixes to-assign to display the same cost in the
confirmation message it uses when assigning, which will correctly
reflect the default reward when the default reward is being used. The
correct cost is also used when pre-computing the total assignment
cost.

In a related change, tp-assign is also more conservative when rounding
the final assignment run total cost, always rounding UP to the nearest
cent. This prevents a hypothetical situation in which 1) Amazon rounds
total cost of an assignment run UP (not confirmed, but not
disconfirmed), 2) the total cost of an assignment run exceeds the
user's balance by one penny, 3) the assignment run then fails when
trying to assign the very last assignment. Also, tp-assign makes sure
to always use the minimum Amazon commission charge when pre-computing
the total, in the event someone tries to offer a reward of less than 5
cents.

Includes a regression test added to
test_integration_script_3_tp_assign and related fixtures.

This commit fixes #3. Thanks to @vitorio on github for the bug report.