Fixed support for binary files

Hi, 

i've fixed support for binary files.

I also did some cleanup, indenting, removed semicolons, changed curly brackets to the same scheme always and i've added an example for browsing local directory in browser with support for view/download files (serve_dir_or_file_from).

There was also an issue with older tree version (i've 1.5.2 here) which i've fixed.
It treats "" as directory, weird but it stopped the serve_dir stuff working.

Additionally i've added character encoding.

There's still an issue with filenames with spaces in it. Maybe will check next week.

Cheers, Frank