Add initialization of line_number to zero

- Add initialization of line_number to zero in the parse_file function
  because if the parsed file is empty, line_number is not initialized by
  the for loop which leads to a crash.
- Tidy some whitespace.
Add __init__.py for bin folder

- Add __init__.py for bin folder so modules can be imported for testing.
Add bin folder to tests and coverage
Add empty file parsing test for bin/parser.py
Merge pull request #42 from apel/iss41-empty_file_parse

Add initialization of line_number to zero
Replace iso8601 module with isodate

- Replace iso8601 module with isodate so that support for ISO 8601
  durations can be added later. Also means that the datetime parsing is
  stricter.
Replace more uses of iso8601 module with isodate

- Replace use of iso8601 module with isodate in travis file, spec file,
  scirpts and tests.
Change expected exception in blah test
Correct parse_datetime to work with isodate

- Change parse_datetime so that if the parsed datetime string has no
  timezone set, assume it was UTC and return it as a naive datetime
  object. This extra step is needed as the iso8601 module that isodate is
  replacing used this assumption itself, but now we have to do it.