Fix apply_year_directive

Using the Y 2014 syntax works fine, but using
apply year 2014 resulted in the following error:
Error: Year is out of valid range: 1400..10000
since part of the given year string was chopped off.
Correctly justify Unicode characters in terminal

Many Unicode characters take more spaces than one ASCII character. For
example, Chinese characters are two characters wide when using monospace
font in terminal. This patch use wcwidth of Markus Kuhn to count the
correct width for justification.
Use mk_wcwidth instead mk_wcwidth_cjk
Merge pull request #242 from afh/pull/year

Fix apply_year_directive
Merge pull request #243 from kanru/justify-cjk

Correctly justify Unicode characters in terminal
Implicit logical and is really a logical or
Merge pull request #244 from mvz/logical-and-is-or

Implicit logical and is really a logical or
DocTests: Allow multiple example inputs 

to be used as single ledger data for an example command
DocTests: Allow inline input to be used with different example commands
Merge pull request #245 from afh/pull/DocTests

Make more examples from documentation testable
Attempt to convert balances to amounts before failing comparisons
Added to ignore file
Fixing typo: test sweet -> test suite
Merge pull request #246 from lawilliams/master

Fixing typo: test sweet -> test suite

But I thought the new testing capability was so sweet I left it this way!  Thanks!
Adding support for recursive aliases.

Alias expansion is now a loop. If you define

alias A=B:A
alias B=C:B

then A will expand to C:B:A.

Also added a short section to the manual about this.
fixing problem with previous commit if no aliases are registered
Adding tests for recursive aliases
Adding option --recursive-aliases, adding documentation to man-page and manual
Fixing two GCC warnings
Merge pull request #247 from ecraven/master

Adding support for recursive aliases.