[Singleton] prevent unserialization
Revert "adding netbeans files in gitignore"

To ignore local files, I think that
we should add them into $GIT_DIR/info/exclude (project-specific config)
or core.excludesfile (global config).

This reverts commit 7b8cab2cb6d20d64c82fbab9a72e9a5a99298740.
add PHPUnit, Mockery as dependencies for dev.