add schema lock while in use, and improved documentation. also moved
null objects serialization to the most global class Serializer<?>