Error fixes, custom ID separator, no order by on count queries

I've added a few fixes:

- allow a custom ID separator for compound keys: some of my compound keys may contain commas, so I made this configurable on the BaseHandler class
- catch `KeyError` in `to_deep` method
- a `NoResultFound` error was being raised, but the msg string was wrong
- I have removed the `order_by` on count queries to speed them up (I have a table with ~4m rows in, and it was taking a long time because it was trying to sort before counting)