Empty input check and assorted tweaks

- Added checks that alert the user and abort upload if an non-nullable
field is empty.
- Added a check when parsing a DescribeFeatureType response that sets
the nullability of geometry fields to false.
- Changed the storage of fields to an ArrayList to make fields appear in
order.
- Added WFS-T Insert reply codes that will alert the user to missing
authorization credentials if Geoserver replies that the layer is
read-only.
- Moved the addition of XML character data tags to the XML formation
section.
- Stopped XML elements being created for empty fields.