Correction of instantiability calculation

Classes are instantiable if they are non-abstract. This change updates the logic such that abstract classes and interfaces are reported as non-instantiable.
Added test for instantiability
Merge pull request #40 from bc-luke/instantiable

Corrected check for instantiability and added tests to verify