Initial support for multiple files.

This commit adds preliminary support for more then
one file using the --file option.
It defaults to todo.txt, but any amount of files can
be provided in the config file.

Note that this requires a change of setup in the
 config file, which is not backwards compatible!
 hence we set a DEPRECATION warning if old config
 is found.

This is the first step towards more actions, such
as

* "move" to move todos between files,
* "archive" to move done items to done.txt.
* "backup" to move files to a "backup.txt" and so on.

For now, however, one can simply add --file=foo to perform
any todotxt action on that file instead of the default todo.txt.
Cleanup and refactor validation and parsing.
Config init with options hash instead of filepath string as param.
Refactor multifile support:

* Files are parsed and validated trough Config.
* Files are validated on TodoFile, called from Config.
* Cli no longer validates, but leaves this to the Config and TodoFile
  model.
Merge remote-tracking branch 'berkes/feature/multifile' into feature/multifile

* berkes/feature/multifile:
  Cleanup and refactor validation and parsing.
  Initial support for multiple files.
Feature: List all items from multiple files
Merge branch 'feature/due' into develop

* feature/due:
  Brighten the headers.
  Introduce due-feature.
  introduce before_date filter
  introduce on_date filter on todolist
  Introduce due attribute on Todo
  Feature to show todays date in output
  Add feature for "due"
Initial support for multiple files.

This commit adds preliminary support for more then
one file using the --file option.
It defaults to todo.txt, but any amount of files can
be provided in the config file.

Note that this requires a change of setup in the
 config file, which is not backwards compatible!
 hence we set a DEPRECATION warning if old config
 is found.

This is the first step towards more actions, such
as

* "move" to move todos between files,
* "archive" to move done items to done.txt.
* "backup" to move files to a "backup.txt" and so on.

For now, however, one can simply add --file=foo to perform
any todotxt action on that file instead of the default todo.txt.
Config init with options hash instead of filepath string as param.
Refactor multifile support:

* Files are parsed and validated trough Config.
* Files are validated on TodoFile, called from Config.
* Cli no longer validates, but leaves this to the Config and TodoFile
  model.
Feature: List all items from multiple files
fix "Edit" action after breaking it in merging the refactoring.
Fix move action after refactoring.
Spec moving files between different files.
the --files flag should be able to take a file-path.
Document the file behaviour.
Merge branch 'feature/multifile' of github.com:berkes/todotxt into feature/multifile

* 'feature/multifile' of github.com:berkes/todotxt:
  Feature: List all items from multiple files
  Refactor multifile support:
  Config init with options hash instead of filepath string as param.
  Cleanup and refactor validation and parsing.
  Initial support for multiple files.

Conflicts:
	features/files.feature
	lib/todotxt/cli.rb
	lib/todotxt/config.rb
Merge branch 'feature/multifile' of git://github.com/berkes/todotxt into berkes-feature/multifile

Conflicts:
	README.md