Added code to rent method in PlotControl and PlotCommand.

Also added some TODOs.
Oops. Fixed a message in PlotControl
Added rent-time information to PlotData, already had rent-cost.

Also added rent-player and rent-player-time information to PlotSignData.
To remember who has rented via which sign, and how much time is
remaining.
Working rent feature

- PlotSignType became enum instead of abstract class. So PlotSignType2
is created and ForSale, ForRent and PlotSignType are deleted.
- Added PlotSignText class. Represents the text on a sign.
- Added TimeStringConverter to convert millisec to 1d23h59m format and
vice versa

Most changes are related to the above. Like renaming PlotSignType. And
creating/updating signs using the new PlotSignText. Other changes are
mentioned below.

- IPlotSign: Added some methods
- PlotControl: Updated method rent and buy.
- PlotData: Added method hasRenters()
- PlotListener: Updated method onSignChange
- PlotManager: Added timer for updating rent signs
- SelfServiceManager: Fixed file path issue

Next commit will rename PlotSignType2.
And there are still some important TODOs involving max rent cost. And
allowing to extend your remaining rent-time when it's below the
configured percent.
Renamed PlotSignType2 to PlotSignType without 2

This is a separate commit to avoid renaming issues with github
Fixed min/max rent cost check
Oops, forgot one message.
Fixed min/max rent cost check, again

Added message for when rent time ended.
Added ability to extend rent time. No maximum yet
Added maximum for renting time.

You can extend the rent time after a certain percentage of time has
changed.

The default is 90%. So when a region is rented for 20 minutes. Another
20 minutes can be added after 18 minutes. (90% of 20 minutes is 18
minutes).