General oracle

* Replaces ``PolyhedralOracle`` with ``GeneralOracle``
* Supports polyhedral constraints plus **one** ellipsoidal constraint, i.e.
```
Ax + By = d
|| Fy + g || <= G
```

Closes #5, closes #6