refs #3: introduce abstract class to download file to support multiple scheme.

Currently we are using URLConnection to download. It supports both of
HTTP and FILE scheme, but to support access authentication, it is better
to introduce http-client so we need one layer to introduce absrtaction.
refs #3: replace old test case with new one which uses Downloader.
refs #3: create class which uses http-client to download.
Merge remote-tracking branch 'origin/master' into support-authentication
refs #3: implement a class for basic authentication support
refs #3: use SystemRules to make code simple.
refs #3: support Digest authentication
refs #3: [refactoring] make responsibility clear.
refs #3: ensure that tests pass on both of Windows and Linux
refs #3: Merge branch 'master' into support-authentication

Conflicts:
	hideyoshi-core/pom.xml
	pom.xml
close #3: remove old implementation and use new one.
refs #3: enhance logging message.
close #3: --file supports URL to specify configuration file.
Merge branch 'support-authentication'