makeFields should not require an underscore

fooX should be fine as a record field name since the lens is now x
_fooX is still allowed
ignore .hsenv
add type signatures to fix warnings
underscore can still serve a purpose for makeFields

if any record field leads with an underscore
don't create lenses for fields without an underscore
Merge pull request #320 from gregwebs/drop-underscore

Drop underscore