Constructor for Map now only loads the attributes, so it won't return null.
To load the tilesets, object groups and layers, a specific method for each one must be loaded. Reason for this is to diminish the number of method calls on the constructor.
Some programs may not use one of those, so the user call them when needed.
MalformedMapException is now removed. Is parameters are not checked, a simple Exception is throwed. A better scheme, as support for more formats, will be provided later.
A NotLoadedException was created to inform the user when something was not loaded, so he won't have doubt where the error is - the XML or if he missed a call method.
The actual methods loaded from XML are now private.