Added keys to components generated from an array, Converted tabs to whitespace
Fixed based on comments provided by CR for Issue #85. Reduced indirection level induced by FormElementFactory, it has been replaced by a factory method which returns a component instead of double wrapping the component. This new approach is found inside FormInputFactory. Also fixed alignment issues and other minor changes