Fix [#15], fix bugs, add some unit test code.

Bugfix:
1. When you make an appointment of [00:00 - 24:00] with timezone t, and
you change timezone to t+1, the original api will return [[]], while the
proper api should return [[01:00-24:00]]

Add lots of unit test.