Replace no_header with skip_lines option

Some banks export their CSV with several lines of text as a header,
containing the account number, type of account, the current balance,
or other information such as the CSV row header.

With the skip_lines option icsv2ledger skips these lines prior to
reading the actual CSV data.

Sample CSV export from bank statement including CSV row header:
"Account:","1234567890 / Internet-Account",

"From:","01.01.2012",
"To:","01.02.2012",
"Balance:","123,45",

"Date","Effective Date","Transactiontext","Payee","Purpose","Account","BIN","Amount",
Merge pull request #9 from afh/pull/skip_lines

Replace no_header with skip_lines option
Replace date_format with csv_date_format and ledger_date_format

By default the same date format from the CSV is be used.

If the user would like the ledger file to use a different format,
the date is parsed from the CSV using csv_date_format and printed
to the ledger file using ledger_date_format.
Merge pull request #10 from afh/pull/date_format

Replace date_format with csv_date_format and ledger_date_format
Add ability to find .icsv2ledger config file in user home directory.
Because of python bug http://bugs.python.org/issue974019, ConfigParser boolean default value must be a string
Use markdown backticks
Add ability to read ledger_filename from configuration file.
Rename --read-file to --ledger-file
Merge pull request #12 from thdox/quote-configparser-default-value-rc

Quote ConfigParser boolean default value
Merge pull request #13 from thdox/documentation-rc

Use markdown backticks
Merge pull request #14 from thdox/ledger-file-option-rc

ledger file option
Merge pull request #11 from thdox/config-file-in-user-home-directory-rc

Add ability to find .icsv2ledger config file in user home directory.
Patch to "Merge pull request #11 from thdox/config-file-in-user-home-directory-rc"
Rename options.config to options.config_filename
Merge pull request #15 from thdox/config-file-in-user-home-directory-patch-rc

Patch for options.config_filename
Improve handling of ledger_file option

The ledger_file option can be given on the command line or be configured
in .icsv2ledgerrc.  When the option is not configred in the .icsv2ledgerrc
file the icsv2ledger errs with:

  Traceback (most recent call last):
    File "icsv2ledger/icsv2ledger.py", line 357, in <module>
      main()
    File "icsv2ledger/icsv2ledger.py", line 250, in main
      options.ledger_file = config.get(options.account, 'ledger_file')
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ConfigParser.py", line 610, in get
      raise NoOptionError(option, section)
  ConfigParser.NoOptionError: No option 'ledger_file' in section: 'giro'

This change remedies the above error and prefers a given commandline option
over a configured option, when both are available.
Add ability to read from stdin and write to stdout.
This commit breaks two previous way of working:
- now accept only two arguments that are input and output,
- remove previous default writing to .ledger file, default is now stdout.
Merge pull request #17 from afh/pull/ledger_option

Improve handling of ledger_file option
Merge pull request #19 from thdox/stdin-stdout-rc2

Add ability to read from stdin and write to stdout.
Merge "account mapping file" and "payee mapping file" into one single mapping file.
Option name is now "mapping_file".
Use template to generate ledger transactions

Some people prefer tabs over whitespace or 2 spaces over 4 or 8 spaces
for indentation. Additionally some people prefer their ledger tags to
be indented further from the postings. And others like the order of the
postings in a transaction reversed.

Using a transaction template file, where placeholders are replaced with
the actual values from a transaction, the user can configure the
generated ledger output to their heart's content.

These changes make the --no-output-tags and the append_currency option
obsolete, since the template provides same functionality with much more
flexibility.