Support 552 "exceeded allocation" errors

In a file system driver I am building, each user is allocated a set amount of disk space and monthly bandwidth to use.

This PR allows a file system driver to raise an `ExceededAllocationError` when a user attempts to exceed a constraint, which sends a 552 error to the client.