Added a __dir__ method for particles to return the list of available
attributes.
Fix for particle getattro: Throw an exception if iterator is not valid,
otherwise expect to find a correct void *data (assert is used to as a
sanity check, should never fail).
Include the standard type attributes in the dir function for particles.