Refactored create field methods to use entities

* Refactored create field methods to use a CreateFieldInformation entity. 
* Marked old createfield methods as obsolete.
* Changed the way additional XML properties are handled by using an IEnumberable<KeyValuePair<string,string>> instead of a string. The string value could potentially contain errors which would cause the string creation to fail.
* Updated unittests to use the CreateFieldInformation entity instead.