is_valid and error handeling

I ran into some unexpected problems using shapely with malformed geojson geometries. Instead of returning ```false```, the ```is_valid``` function raised exceptions if e.g. a polygon consisted of two points. My suggestion is to more consistently use shapely's own exceptions for common errors, and having ```is_valid``` catch these. By having these exceptions inherit from ```ValueError```, code that relied on catching the old errors should be unaffected. Generally speaking, consolidating the thrown errors should have additional benefits.