support for private constructors

If entity has a private constructor without arguments create instance without constructor, if it has mandatory arguments throws an exception if explicit construct has been called. Tests covering those cases included, rectified some typos related to faker library too.