Commit 9: 1.0.2

- Added methods for checking if an Entity instance is an AI, a player, a
structure, or a deployable object. Not sure if Entity is fully
implemented anyways though.
- Execute.Every(float, Method, params object[]) and Execute.Every(float,
int, Method, params object[]) are now Execute.Every(float, Method,
object[]) and Execute.Every(float, int, Method, object[]), respectively.
You must explicitly pass your variables as a new object[] { "1", "2" };
- Made some things internal instead of public.
- API/Variables.cs -> Variables/Variables.cs.
- Data.Exists(string) and JSON.Exists(string) now check if the file
exists within that plugin's domain instead of every plugin's domain.
- Added the property Animals.AllCorpses.
- Time.currentTime -> Time.CurrentTime.
- Added very limited faction object information.
- You can now view the faction name, owner, ownerId, and allies of a
faction.
- You can now view the faction of an APIPlayer.
- APIPlayerInventory.hasGun(string, int, int) now checks for the amount
of the specified gun properly.
- Property uid is now userID (in APIPlayer).
- Added a property to APIPlayer 'ulongUID'. This is the ulong version of
userID.
- You can grab all available commands with Players.AllCommands.
- Players.Inventories is now of type List<APIPlayerInventory> instead of
APIPlayerInventory[].
- Plugins can now get their own plugin instance in the API using
Plugin.This.
- Since RustEssentialsAPI is an extension of the base mod
RustEssentials, there is no reason to use SetModded() here since we are
already doing it in the base mod.
- Added the launch parameter '-apidir'. This works the same way
'-essentialsdir' does.