Added support for default factory method and builder name.

Factory methods and Builder names do not have to be
specified. By default a builder will be generated with the
name of "<className>Builder" and a factory method will be generated
with a name of "a(n)<className>". The factory method will
begin with "an" if the class name starts with A,E,I,O or U
and will start with "a" otherwise.