Push for limited type now takes an access type.

This is done to avoid scope issues that can occurs when passing
an instance of the type itself.
Add .gitignore.