Add `config` as language file

This patch will change several behaviour while generating the ebook:

- `build.go` now accepts two environment variables: TMP, WORKDIR

    * TMP:

Temporary directory path.
The directory stores intermediate files like '*.html' or metadata.txt.

    * WORKDIR:

Script base directory.

- `config` as language file

config file will be `source`d to change its ebook metadata.

- `genepub.sh` is integrated to `build.sh` and `build.go`

See `FixHeader` and `RemoveFooterLink` functions.
Merge pull request #286 from ernix/i18n

Add `config` as language file
Merge pull request #287 from ernix/ja

Add japanese translation
Merge commit 'dfe210496945642fb3aacfb58909dea4eeec4ba3' into ja
Add some output

添加了示例代码的一些实际输出信息，以及报错的内容
Merge pull request #289 from MatrixYuri/master

Add some output
新增database/sql教學網站
轉簡體字
裡===》里
Merge pull request #291 from siongui/master

新增database/sql教學網站
添加段落结束落下的句号
操作系统名采用统一的首字母大写。

>  `go build`的时候会选择性地编译以系统名结尾的文件（linux、darwin、windows、freebsd）。例如Linux系统下面编译只会选择array_linux.go文件，其它系统命名后缀文件全部忽略。

这句话里两次说到Linux，一次大写，一次小写。
Merge commit '82615dce16babe8819cfab769f0b8fe4d4f8142f' into ja
[ja] apply patch
Merge commit '61afa2e487331ed8c8ddf8eb0831e650dd0cb9b4' into ja
[ja] apply patch
Merge commit 'bfc802af6aa02024bc7089e571f02dae6ba2d982' into ja
Merge commit 'eef1ae7a252f1cab7c5b68dac94be6128ef53df5' into ja
Merge commit '47b1ed61590ac795ab93c05915d7fff72d9b4b9f' into ja
Merge commit 'e1ce235b48775c6ef509e44370765c10ce1556b4' into ja