School year redo

There are a few other commits done before, I guess the reason is I did not updated them in add-bulkOperation branch, but they won't affect anything.
I actually tested it, no exception will be thrown , if year is not specified, then it goes in first constructor, which only take client. If you specify it, then it goes into second one, which call Tostring method.