Solution 1:

client denied by server configuration: /home/username/Development/PHP/foo.dev.com/public_html/

This make me think about a similar issue i had :

Ensure that www-data user has the x bit permission set for each folders on the path to /home/username/Development/PHP/foo.dev.com/public_html

Either by making www-data the owner of the folders : chown www-data

Or grant the x bit to others : chmod o+x

EDIT :

Finally i have been able to reproduce. It seems that %0 is not supported in <Directory> directive. I have corrected this adding a * instead :

UseCanonicalName Off
<VirtualHost *>
    VirtualDocumentRoot "/home/username/Development/PHP/%0/public_html/"
    <Directory "/home/username/Development/PHP/*/public_html/">
        Require all granted
    </Directory>
</VirtualHost>