NPC Improvements and fixes

Improved NPC handling by adding NPCBase class. This also allowed me to
use Data.WriteAllProperties and Data.ReadAllProperties for sending and
receiving NPC data. Also fixed Tileset ID what was declared as Integer
but it was loading as String.
Manually commited Lex´s changes

Becouse I posted new commit, I was not able to merge Lex´s changes, so I
manually commited them.
Merge pull request #1 from eatenbrain/master

EatenBrain Updater NPC