Merge pull request #47 from al3css/master

Added make csv command and fast-csv
VMScript improved to have vms.depends added.
Vmscripts can use it to delay execution of their code until all dependencies are loaded.

util.config is now config
scope and sandbox should no longer be needed.
no need to define login, zone, world, etc anything else i had there in config.plugins as they are put in there by main.js now.
Temp fix/hack to trigger loading of vmscripts in plugin.... need to improve.
Not 100% finished or happy with vmscript but need to sleep and goto work.
Fixed: Item equipcheck.js
Added: itemactions.js
# itemactions.js changes:
Added: Recv_EquipItem
Added: Recv_UnequipItem
Added: Recv_CoinsToGold
Added: Recv_GoldToCoins
Added: Recv_MoveFromPillBar
Added: Recv_MoveToPillBar
Added: checkInventoryItemCollision
# other:
Fixed: Minor bugs from VMScript
Fixed glitch in vmscript where loading could try to trigger more than once.
Added objectify function to restruct to create object from the definition. Keys are undef. Supports structs but not array of struct.
Does support array of other types.
Added: Recv_Use_item
Added: Recv_RemoveSkillFromBar
Added: Recv_SkillUp
Please run npm update to update packet.json dependencies.

Incremented Version Number

Cached Buffer now outputs packet id in hex prefixed with 0x and pad 2 zeros.

Various GM Commands for info fixed.
Create Account Fixed
Clients list in world fixed you can now use world.getCharacterSocket('CharacterName') returning socket object.

Added reload to game infos. and /reload has them as options now.
Or just do infos.Item.Reload()

Added npc packet use it in Gungsont Fortress town center with /s npc
It will make a herblist you can use.
Merge branch 'master' of https://github.com/LiamKarlMitchell/InfiniteSky
Made GameInfoLoader queue async.

Needed to call callback async.. duh.

https://github.com/caolan/async/issues/510#issuecomment-40487509
Modified send command to work with PacketID

if you enter /s 42 then it would look for 42.pac if not found then it
would check if 42 is a hex number if so it would send as a packet id no
other data in packet.
Investigated into Duel and Shop values

Found in character state.
Try
zones[1].findCharacterSocket('Name').character.state.Store = 1;

Or dueling = 1;

There is also a MonsterDisguise
Added: Item enchant.js
Added: Item combine.js
Minor cleaning up & fixes
Conflicts:
	commands/test.js
Fixed: test.js
Added: Bank storage up to 56 items
Added: Bank withdraw items back to inventory keeping all values like: enchant, combine, growth or activity
Added: Bank money storage
Added: Item types that can be stored in bank
Fixed: Item type bug on pets in inventory
Minor cleanup
Added SkillInfos csv command