Easy field addition to contacts with 1D associative arrays

Two new methods for the "field" object:
* getAll() returns all fields in the system keyed by both ID and name. For convenience this is stored in the object; there may be a more preferential way than using a public property, but it can be handy to have access as there's a second pull request which makes field errors more readable using this.
* fieldsFromArray() converts an associative array of name => value pairs into the required 2D array ( fieldId => '', content => '') for creating contacts. This makes the front end much easier to add contacts without storing all field keys somewhere else.