add documentation.
remove unused import.
cleanup sources.
remove Functor restriction.
API documentation.

add & construct documentaion data type.
change File interface.
rename Documentation types, fix compile errors.
enhance extractRoute.
version bump up. fix persistent compile error.
fix compile error.