avoid SetMargin cause file error

pageMargins node must contain top when top=0
fix XSSFCellStyle.VerticalAlignment set to top failed issue
fix decimal point issue in non-English culture

Double.ToString will contain comma if culture is EU instead of en-US
(for example, x="2,3" instead of "2.3")
Username length information can be wrong

The length information of the user name can be wrong so that it's value can be `null` after leaving the constructor which then leads to `NullReferenceException`s all over the place (in my case I encountered one while accessing the `DataSize` getter. 

I'm pretty sure this situation is due to a malformed `HSSFWorkbook` file. I'm currently writing a class for conversion between `XSSF`<->`HSSF` files. While the `XSSF->HSSF` part seems to work (at least sufficiently for my use case) reading the converted `HSSFWorkbook` back into an `XSSFWorkbook` got me this `NullReferenceException`. 

I guess it's not really the fault of `HSSF.Record.FileSharingRecord` but rather a problem with the `XSSF->HSSF` part but I think catching such cases isn't a bad idea anyways?
Merge pull request #14 from vanhelgen/patch-1

Username length information can be wrong
update readme
fix stupid issue
fix fontid=0 missing issue
change assembly version to 2.0.8