Several changes
resolved some minor bugs
added function get_residue_by_identifier() to Chain. First call will create a dictionary of the residues of a chain according to its identifiers
this is: to get residue 16 of chain A -> pdb_obj.get_chain_by_id('A'). get_residue_by_identifier(16)
added backbone_atoms and sidechain_atoms properties to Residue