split abstract.discretization, creating abstract.feasible

to separate functions checking reachability, from the abstraction algorithm itself, which is mainly at a discrete level and to which there exist alternatives and variations which can use the same reachability algorithms after importing them from abstract.feasible
change discretize arg: plot_every default value
use LtiSysDyn.plot, PwaSysDyn.plot in discretize
Merge branch 'master' into disc
logging in gr1cint
fill snapshot filenames with zeros
style PropPreservingPartition.__str__
check todense instead of shape attribute
print PropPreservingPartition regions, even if no prop symbols
pythonic iterations and filter
print {} if region not labeled with propositions
new: PropPreservingPartition.plot
fix code typo in cheby_ball
make chebR, chebXc properties of Polytope, Region

- auto-computed on first access
- protected from being set outside polytope module
- no need to import cheby_ball in addition to Polytope
bugfix: enlarge matrix A if fewer rows than polytope dimension

This occurs when polytope.reduce operates before Polytope.project. If the matrix A resulting from reduction has fewer rows than the Polytope's dimension, then within polytope.projection del_dim references too large indices of norm.
Merge branch 'master' into disc
new: __le__, __ge__ of Polytope, Region

and polytope.polytope.is_subset
define ABS_TOL in polytope
new: is_feasible in abstract.feasible
new: simplices2polytopes in polytope