core: style, de-duplicate read() calls

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
core: streamfile() can read line by line

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
core: fix, buildlog --strip-time failed to remove time

If a time field is not complete within the same read block
then it can't be found by time_regex in buildlog_strip_time().

Fixed by simply reading line by line. I couldn't measure any
performance difference neither for real nor user time. IMO no
need to optimize for more lines per data chunk. Maybe it's
even more fluent now for interactive users.

BTW we can safely simplify time_regex.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
- OscConfigParser: added "proper" parameter to the has_option method

This can be used to check if the option belongs to the section or is
just "inherited" from the defaults.
- added support for a per apiurl "build-root" option

Resolution order:
OSC_BUILD_ROOT env var > apiurl build-root option > general build-root option
Merge branch 'fix-bl-strip-time' of https://github.com/rudimeier/osc
- fixed #89 ("osc commit fails with do_package_tracking = 0")
- use HTTPError.hdrs instead of HTTPError.headers

There are situations where a HTTPError instance has no headers
attribute.
- babysitter: catch URLGrabError exception