A PR dedicated to order statuses, and specially PAID, plus minor fixes and enhancements

This PR fixes #980. This is not a perfect fix, as a module may add one or more OrderStatus that implies the order is paid, but this is enough to solve the problem at the moment.

The order loop returns five new variables: HAS_PAID_STATUS, IS_PAID, IS_CANCELED, IS_NOT_PAID, IS_SENT and IS_PROCESSING, to allow a safe processing of order status ($STATUS > 2 is not safe, but so Thelia 1 :metal: )

BaseController::generateOrderPdf() throws an exception instead of returning null, to display an error page in front office instead of redirecting to index page if an error occurs.

Various CS and comment fixes while beeing around.
in the title of this commit https://github.com/roadster31/thelia/commit/ad2ba49e8cdf35f70b6e309aa29584ec2bcc3a40 you put "added orderDetails method", so yes it's your code