merged developing branch

Though the remote developing branch is far from stable, I decide that
it's better to merge it anyway. Otherwise it would be too hard to catch
up with my branch.

Generally, there are some changes:

1. add serialization
2. support heterogeneous graph, though not perfect
3. working indexing, though far from perfect
4. kept only pagerank app for testing
5. add travis ci support

Squashed commit of the following:

commit dfb75771c95fd0bc359279989b6edc38a866a115
Author: Jianfei Wang <me@thinxer.com>
Date:   Tue Sep 3 22:57:41 2013 +0000

    retry with ppa gcc 4.8

commit 7a64b2e31501fe9f93a97a6b92d7957780057d1f
Author: Jianfei Wang <me@thinxer.com>
Date:   Tue Sep 3 22:52:33 2013 +0000

    retry with gcc 4.8

commit a45d4a4fa57b998ca89afbc176f7613e29e957e3
Author: Jianfei Wang <me@thinxer.com>
Date:   Tue Sep 3 22:33:08 2013 +0000

    travis: add protobuf compiler

commit e9750dc70768393a396e18ee2b0f1c161e2fcc1f
Author: Jianfei Wang <me@thinxer.com>
Date:   Tue Sep 3 22:29:13 2013 +0000

    fix travis libzmq install

commit 9756572f35891c7a12682aeb3311045e54923ce9
Author: Jianfei Wang <me@thinxer.com>
Date:   Tue Sep 3 22:23:16 2013 +0000

    add travis ci support

commit 690ec3196ad3d09d1cb952bcc9cb5f8459f29d91
Author: Jianfei Wang <me@thinxer.com>
Date:   Tue Sep 3 22:19:38 2013 +0000

    fix glog building

commit c75a1f302c80a927b5b0a5a10ab3f57529919ee0
Author: Jianfei Wang <me@thinxer.com>
Date:   Tue Sep 3 14:30:41 2013 +0000

    random fixes

commit 684822c30a0c63c50365b49f6f0b840ee1c293d8
Author: Jianfei Wang <me@thinxer.com>
Date:   Fri Aug 30 14:17:00 2013 +0000

    storage: better mmap lseek handling on posix

commit 8f0a4a7fdcc43c1618c2bacc3493e552ee18349a
Author: Jianfei Wang <me@thinxer.com>
Date:   Tue Aug 27 01:56:56 2013 +0000

    an experiment on restructuring the whole project

commit c37e069884e9a90de673241644593f8654010476
Author: Jianfei Wang <me@thinxer.com>
Date:   Fri Aug 9 14:10:01 2013 +0000

    fix Token.h

commit 9c70358d73f076ebae7035ef99e484506134964c
Author: Jianfei Wang <me@thinxer.com>
Date:   Fri Aug 9 14:00:01 2013 +0000

    fix file permissions

commit bbbb66cc1ccf54060672db79c0561d38bcf8171e
Author: Hugh <yeyh10@gmail.com>
Date:   Fri Aug 9 11:54:21 2013 +0800

    Bug fixed - building query tree..

commit 706f5c847256f50cdc90ae3869fc889edd7834af
Author: Hugh <yeyh10@gmail.com>
Date:   Fri Aug 9 10:29:58 2013 +0800

    	deleted:    src/saedb/indexing/.DS_Store

commit 34859c4537a41c28a3b7c21ea3a4d216b347c602
Author: Hugh <yeyh10@gmail.com>
Date:   Fri Aug 9 10:29:01 2013 +0800

    	new file:   .DS_Store

commit d1753492f59d5ae7b6ea968cd0c72982544e57a6
Author: Hugh <yeyh10@gmail.com>
Date:   Fri Aug 9 09:32:41 2013 +0800

    	modified:   indexing/indexing.hpp

commit bc986ff335a91297b4bff28832eeca8b8f6709cf
Merge: b404918 ea2ef2a
Author: Hugh <yeyh10@gmail.com>
Date:   Fri Aug 9 09:30:19 2013 +0800

    Merge remote-tracking branch 'thinxer/demo' into demo

    Conflicts:
    	src/saedb/indexing/CMakeLists.txt
    	src/saedb/indexing/analyzer/CharTokenizer.h
    	src/saedb/indexing/indexing.cpp
    	src/saedb/indexing/indexing.hpp
    	src/saedb/indexing/indexing_test.cpp
    	src/saedb/indexing/search.hpp
    	src/saedb/rpc/zmq.hpp

commit ea2ef2a00d3e58767b315a4e0f320ee2e6bc8b9d
Author: Jianfei Wang <me@thinxer.com>
Date:   Fri Aug 9 02:01:23 2013 +0000

    always output request info

commit 513d5e526e34ba14244b9a1d82763d355a8f1da3
Author: Jianfei Wang <me@thinxer.com>
Date:   Fri Aug 9 02:00:47 2013 +0000

    do not add edge if vertex not found

commit ff2c2330c1ab80f7c32c6a009a51f6e39f120bb9
Author: Jianfei Wang <me@thinxer.com>
Date:   Wed Aug 7 14:44:36 2013 +0000

    add try catch to rpc server

commit b404918e0787fa03d3f46359fb96b05a66d363a1
Author: Hugh <yeyh10@gmail.com>
Date:   Wed Aug 7 16:30:59 2013 +0800

    Remove .DS_Store forever..

commit a39ae1c3e456388860141c900029adf809d9cf92
Author: Hugh <yeyh10@gmail.com>
Date:   Wed Aug 7 16:27:32 2013 +0800

    	deleted:    ICTCLAS50.h
    	deleted:    libICTCLAS50.a

commit 7e428bf4b1f0ab4a00c852b9250da83f7e90fbcf
Author: Hugh <yeyh10@gmail.com>
Date:   Wed Aug 7 16:24:30 2013 +0800

    	modified:   CMakeLists.txt
    	modified:   analyzer/ArnetAnalyzer.h
    	modified:   analyzer/CMakeLists.txt
    	modified:   analyzer/CharTokenizer.h
    	modified:   analyzer/Character.h
    	modified:   analyzer/ChineseTokenizer.h
    	modified:   analyzer/LetterTokenizer.h
    	modified:   analyzer/LowerCaseTokenizer.h
    	modified:   analyzer/StemFilter.cpp
    	modified:   analyzer/StopFilter.cpp
    	modified:   analyzer/StopFilter.h
    	modified:   analyzer/Token.h
    	modified:   indexing.cpp
    	modified:   indexing.hpp
    	modified:   query.cpp
    	modified:   query.hpp
    	modified:   search.hpp
    	new file:   test.cpp

commit 5917e12be1bb24f1477a06119cd59a03b1ce3268
Author: Hugh <yeyh10@gmail.com>
Date:   Tue Aug 6 14:17:44 2013 +0800

    	deleted:    src/saedb/indexing/Configure.xml
    	deleted:    src/saedb/indexing/Data/BiWord.big
    	deleted:    src/saedb/indexing/Data/CoreDict.pdat
    	deleted:    src/saedb/indexing/Data/CoreDict.pos
    	deleted:    src/saedb/indexing/Data/CoreDict.unig
    	deleted:    src/saedb/indexing/Data/FieldDict.pdat
    	deleted:    src/saedb/indexing/Data/FieldDict.pos
    	deleted:    src/saedb/indexing/Data/GranDict.pdat
    	deleted:    src/saedb/indexing/Data/GranDict.pos
    	deleted:    src/saedb/indexing/Data/ICTCLAS30.ctx
    	deleted:    src/saedb/indexing/Data/ICTCLAS_First.map
    	deleted:    src/saedb/indexing/Data/ICTPOS.map
    	deleted:    src/saedb/indexing/Data/PKU.map
    	deleted:    src/saedb/indexing/Data/PKU_First.map
    	deleted:    src/saedb/indexing/Data/character.idx
    	deleted:    src/saedb/indexing/Data/character.type
    	deleted:    src/saedb/indexing/Data/nr.ctx
    	deleted:    src/saedb/indexing/Data/nr.fsa
    	deleted:    src/saedb/indexing/Data/nr.role

commit b19818e982883c4cef02c9fb972365294c4bc22f
Author: Hugh <yeyh10@gmail.com>
Date:   Tue Aug 6 14:15:07 2013 +0800

    	modified:   src/saedb/indexing/indexing.cpp
    	modified:   src/saedb/indexing/search.hpp

commit c680f0d9e569fee523c268feb56486affb00d027
Author: Hugh <yeyh10@gmail.com>
Date:   Tue Aug 6 14:10:56 2013 +0800

    	modified:   src/saedb/indexing/indexing.cpp

commit 6bfcd3d3acfbbacff266750f92ab58bdf92e5b1d
Merge: 68c37fa 9be33c4
Author: Hugh <yeyh10@gmail.com>
Date:   Tue Aug 6 11:24:55 2013 +0800

    Merge branch 'demo' of https://github.com/dahui1/saedb into demo

    Conflicts:
    	.DS_Store
    	src/.DS_Store
    	src/saedb/.DS_Store

commit 68c37fa9527dd1a1e99d0507f439983e9bc065a5
Author: Hugh <yeyh10@gmail.com>
Date:   Tue Aug 6 11:00:31 2013 +0800

    	new file:   src/saedb/indexing/Configure.xml
    	new file:   src/saedb/indexing/Data/BiWord.big
    	new file:   src/saedb/indexing/Data/CoreDict.pdat
    	new file:   src/saedb/indexing/Data/CoreDict.pos
    	new file:   src/saedb/indexing/Data/CoreDict.unig
    	new file:   src/saedb/indexing/Data/FieldDict.pdat
    	new file:   src/saedb/indexing/Data/FieldDict.pos
    	new file:   src/saedb/indexing/Data/GranDict.pdat
    	new file:   src/saedb/indexing/Data/GranDict.pos
    	new file:   src/saedb/indexing/Data/ICTCLAS30.ctx
    	new file:   src/saedb/indexing/Data/ICTCLAS_First.map
    	new file:   src/saedb/indexing/Data/ICTPOS.map
    	new file:   src/saedb/indexing/Data/PKU.map
    	new file:   src/saedb/indexing/Data/PKU_First.map
    	new file:   src/saedb/indexing/Data/character.idx
    	new file:   src/saedb/indexing/Data/character.type
    	new file:   src/saedb/indexing/Data/nr.ctx
    	new file:   src/saedb/indexing/Data/nr.fsa
    	new file:   src/saedb/indexing/Data/nr.role

commit 9be33c4d63812a2e499e20db3d6c924ea01c23b4
Author: dahui1 <yeyh10@gmail.com>
Date:   Tue Aug 6 09:57:10 2013 +0800

    Delete .DS_Store

commit a93e59cbd7394ac30d60a7d27d43585679ede03b
Author: dahui1 <yeyh10@gmail.com>
Date:   Tue Aug 6 09:56:18 2013 +0800

    Delete .DS_Store

commit 09a0f657ad22156857a1a1b0a2fe474135ae4566
Author: dahui1 <yeyh10@gmail.com>
Date:   Tue Aug 6 09:55:26 2013 +0800

    Delete .DS_Store

commit feddddd04f9e47082c01fe335d724c699a54038e
Author: dahui1 <yeyh10@gmail.com>
Date:   Tue Aug 6 09:54:45 2013 +0800

    Delete .DS_Store

commit 630f7bcd771c9e9ff2f01c657553ea979c07ebf0
Author: dahui1 <yeyh10@gmail.com>
Date:   Tue Aug 6 09:54:24 2013 +0800

    Delete .DS_Store

commit 244689e73e963f5c088cf764e354bbaafe72437f
Merge: 06ff0cb 35d0990
Author: Hugh <yeyh10@gmail.com>
Date:   Tue Aug 6 09:52:28 2013 +0800

    Merge branch 'demo' of https://github.com/dahui1/saedb into demo

    Conflicts:
    	src/saedb/indexing/search.hpp

commit 06ff0cb1f57f1653cf09493076cb4a094bc542de
Author: Hugh <yeyh10@gmail.com>
Date:   Tue Aug 6 09:50:23 2013 +0800

    parser for weibo

commit 1712a8c96b1888e2bc840940b15ae236ea93eb0d
Author: Jianfei Wang <me@thinxer.com>
Date:   Sun Aug 4 17:52:54 2013 +0000

    add count of type

commit ad41dce92f3a42d90ed1e90e4a02581b7f17b6ba
Author: Jianfei Wang <me@thinxer.com>
Date:   Sun Aug 4 14:40:19 2013 +0000

    add methods to get id for typename

commit af320529391be844be73ecc38a90464a56c9084d
Author: Jianfei Wang <me@thinxer.com>
Date:   Sun Aug 4 13:21:31 2013 +0000

    use reference of service type T

commit 05fb7d7ee09f0e6d17549a42a88f05a1053ddfc9
Author: Jianfei Wang <me@thinxer.com>
Date:   Sat Aug 3 15:39:16 2013 +0000

    removed apps that do not compile

commit 03c0121ef398845127eb3936cf56d5b4e4654029
Merge: a99547d fb7510a
Author: Jianfei Wang <me@thinxer.com>
Date:   Sat Aug 3 15:35:12 2013 +0000

    add TypeId for consistent api

commit a99547de16bb4c662a20647a32f69ed29ae612dc
Author: Jianfei Wang <me@thinxer.com>
Date:   Thu Aug 1 15:20:29 2013 +0000

    rpc: add ServiceBinder; add namespace

commit 0ba83c83dfce80dcedf379d68114987af355b746
Author: Jianfei Wang <me@thinxer.com>
Date:   Wed Jul 31 02:19:49 2013 +0000

    addSingle for index

commit 8451f80a3d8cf12fd54bc92fb9964ea784a2955a
Author: Jianfei Wang <me@thinxer.com>
Date:   Wed Jul 31 01:16:40 2013 +0000

    change BM25 constants to const from define

commit ecd024385a136fd01629c45ed888719449262c9e
Author: Jianfei Wang <me@thinxer.com>
Date:   Wed Jul 31 01:15:47 2013 +0000

    fix string concat warning for google-glog

commit 869e12d220515b11397683e21890dfccf394b8fb
Author: Jianfei Wang <me@thinxer.com>
Date:   Tue Jul 30 20:14:44 2013 +0000

    merge from hui for improved indexing

commit 638db3a2a6be0c21f29a923cb767eea6fc92c5b3
Author: Jianfei Wang <me@thinxer.com>
Date:   Tue Jul 30 16:55:02 2013 +0000

    include google-glog; fix gflags namespace

commit b804218e11a47be3a6376329264ec8e3482d7908
Author: Jianfei Wang <me@thinxer.com>
Date:   Sat Jul 27 00:22:04 2013 +0000

    include zmq.hpp

commit 35d0990e76d7eaf7502e611424a6cee27c7ce934
Author: dahui1 <yeyh10@gmail.com>
Date:   Sun Jul 28 14:11:25 2013 +0800

    Update search.hpp

commit e7470fd7c3d0dfd07f14d9e0a56452dfbb3f57c5
Author: Hugh <yeyh10@gmail.com>
Date:   Sun Jul 28 14:10:23 2013 +0800

    minor changes

commit 49f1d4d78b1e6c69859ddcf24df7b2d6c627cac9
Author: dahui1 <yeyh10@gmail.com>
Date:   Sat Jul 27 15:36:36 2013 +0800

    Update CMakeLists.txt

commit e84e86c8c097ad9c9d668cac0eba17e33bcc2969
Author: Hugh <yeyh10@gmail.com>
Date:   Sat Jul 27 08:33:35 2013 +0800

    separate

commit 68eef998fc8ae09970e18f06790b47589a53160f
Author: dahui1 <yeyh10@gmail.com>
Date:   Fri Jul 26 17:19:18 2013 +0800

    Update CMakeLists.txt

commit d8fc8a579f0a8dc572e9918bf7ee037d433430bc
Author: dahui1 <yeyh10@gmail.com>
Date:   Fri Jul 26 17:12:05 2013 +0800

    Create rpc.pb.h

commit 4017d991e91bc23c219f4758a13d5eb05e386984
Author: hugh <yeyh10@ubuntu.(none)>
Date:   Fri Jul 26 16:01:49 2013 +0800

    add API to rpc

commit 8100a502963b03a3c05c9169705ce81719a5afd1
Author: hugh <yeyh10@ubuntu.(none)>
Date:   Fri Jul 26 14:58:46 2013 +0800

    	new file:   src/app/demo/aminer/CMakeLists.txt
    	new file:   src/app/demo/aminer/README.md
    	new file:   src/app/demo/aminer/aminer.hpp
    	new file:   src/app/demo/aminer/aminerdata.cpp
    	new file:   src/app/demo/aminer/aminerdata.hpp
    	new file:   src/app/demo/aminer/aminerimporter.cpp
    	new file:   src/app/demo/aminer/expert_searcher.cpp
    	new file:   src/app/demo/aminer/expert_searcher.hpp
    	new file:   src/app/demo/aminer/features.cpp
    	new file:   src/app/demo/aminer/features.hpp
    	new file:   src/app/demo/aminer/interface.proto
    	new file:   src/app/demo/aminer/main.cpp
    	new file:   src/app/demo/aminer/search.cpp
    	new file:   src/app/demo/aminer/search.hpp

commit 9f297859f8456d88e6f10d9b62fd0eecc41e05c8
Author: hugh <yeyh10@ubuntu.(none)>
Date:   Fri Jul 26 14:53:49 2013 +0800

    	deleted:    src/saedb/indexing/README.md
    	deleted:    src/saedb/indexing/aminer.hpp
    	deleted:    src/saedb/indexing/aminerdata.cpp
    	deleted:    src/saedb/indexing/aminerimporter.cpp
    	deleted:    src/saedb/indexing/expert_searcher.cpp
    	deleted:    src/saedb/indexing/expert_searcher.hpp
    	deleted:    src/saedb/indexing/features.cpp
    	deleted:    src/saedb/indexing/features.hpp
    	deleted:    src/saedb/indexing/interface.proto
    	deleted:    src/saedb/indexing/main.cpp
    	deleted:    src/saedb/indexing/search.cpp
    	deleted:    src/saedb/indexing/search_test.cpp

commit 3da6f99e7bd338872d0b004b748b7fa5634d9c9a
Author: hugh <yeyh10@ubuntu.(none)>
Date:   Fri Jul 26 14:44:16 2013 +0800

    basic indexing

commit 904ab83e7b388eb4556078b6f18e8fb8589cef33
Author: dahui1 <yeyh10@gmail.com>
Date:   Mon Jul 22 21:22:51 2013 +0800

    Update CMakeLists.txt

commit 8e5d63e6b3f659624a08d93b650026938bded9e3
Author: dahui1 <yeyh10@gmail.com>
Date:   Mon Jul 22 21:21:09 2013 +0800

    Update expert_searcher.cpp

commit 0d6c37cb55c7d9fe00b35ab3bcae08a954d75bb5
Author: Hugh <yeyh10@gmail.com>
Date:   Mon Jul 22 10:58:06 2013 +0800

    use graph

commit f8e11feb9c7f408c3d5bde93c22f2c6f2f3255ec
Author: Jianfei Wang <me@thinxer.com>
Date:   Thu Jul 18 16:58:31 2013 +0800

    add test for indexing

commit fb7510aa2956d79a9e357eae0f6af25638c74832
Author: kimiyoung <kimiyoung@yeah.net>
Date:   Sat Jul 13 15:41:37 2013 +0800

    Open DataTypeId API

commit 286807355a545bdaa7de4080bb733a136b93d17d
Merge: d3a3e25 1b796a0
Author: Jianfei Wang <me@thinxer.com>
Date:   Sat Jul 13 10:59:25 2013 +0800

    merge from heterogeneous

commit 1b796a08c64f84e14e1d31379a415ba22d2209d6
Author: kimiyoung <kimiyoung@yeah.net>
Date:   Fri Jul 12 22:41:20 2013 +0800

    BUgs fixed. Change Writer API to keep consistent. Enable typename query. Engine done.

commit eea91040f74e3e7396fd054b118562fc63f51776
Author: Wei Chen <cleverdie@gmail.com>
Date:   Fri Jul 12 15:42:30 2013 +0800

    using convert_to_string. dont copy code.

commit d3a3e2566df06a3a26d5fe604dbb6cb445a0533f
Merge: 8160bc5 37205ca
Author: Jianfei Wang <me@thinxer.com>
Date:   Thu Jul 11 15:53:40 2013 +0800

    merge heterogenous

commit 7d03739928b552731c971508403201462d267653
Author: Wei Chen <cleverdie@gmail.com>
Date:   Thu Jul 11 11:37:47 2013 +0800

    add 3 api: parse and update and data_type_name

commit 37205ca2dae8a543af36c7f3bd5433f2bdf187c5
Author: kimiyoung <kimiyoung@yeah.net>
Date:   Mon Jul 8 16:26:19 2013 +0800

    Remove unnecessary codes. Add default type.

commit 8160bc5dee9206cafd813bdffbdda3a3609b0437
Author: Jianfei Wang <me@thinxer.com>
Date:   Sat Jul 6 17:24:08 2013 +0800

    separate demoserver into saedemo project

commit 160e4f627ef2473f28c26216b027d5d0e51e674e
Author: Jianfei Wang <me@thinxer.com>
Date:   Sat Jul 6 16:34:40 2013 +0800

    simple search server

commit 6ddfd42447e4fc28698b08bba176350996e107a9
Author: Jianfei Wang <me@thinxer.com>
Date:   Thu Jul 4 11:37:36 2013 +0800

    initial rpc

commit 712defd9d6d80012e57832f8b56ab0b2070f5e86
Author: kimiyoung <kimiyoung@yeah.net>
Date:   Thu Jul 4 22:15:12 2013 +0800

    Enable Serialization

commit 1f0f761927ed1e5cae40e9e07d2f22b70015cb72
Author: Jianfei Wang <me@thinxer.com>
Date:   Thu Jul 4 08:26:00 2013 +0800

    include indexing

commit 084d5e146623c3bfa5c888e777df6c935d93026e
Merge: 412d23c b7ffadf
Author: kimiyoung <kimiyoung@yeah.net>
Date:   Wed Jul 3 10:46:06 2013 +0800

    Merge remote-tracking branch 'pondering/serialization' into merge_hetero_and_serial

commit 412d23c3b190bf937e831eca067f39efc3d47a3d
Author: kimiyoung <kimiyoung@yeah.net>
Date:   Mon Jul 1 23:51:06 2013 +0800

    Fix sth.

commit 493716ab8ca550a314b9c14fc6df1da1b8991894
Author: kimiyoung <kimiyoung@yeah.net>
Date:   Mon Jul 1 21:55:29 2013 +0800

    Fix sth. Can run the test now.

commit ab7634a039584a455d0a7db6a754cd9e575fe6fa
Author: kimiyoung <kimiyoung@yeah.net>
Date:   Wed May 29 20:55:50 2013 +0800

    Demo. No debugging.

commit b7ffadfb8d0a99b2cdc243f893402f12feefd073
Author: Wei Chen <cleverdie@gmail.com>
Date:   Fri May 10 12:17:00 2013 +0800

    fix type & length function

commit 3487e345271c3ecf34153a154a89b8411584d5d7
Author: Wei Chen <cleverdie@gmail.com>
Date:   Thu May 9 14:50:57 2013 +0800

    Add custom struct test

commit 97903311d7e92832f38d1511aec35b2415ebfa79
Author: Wei Chen <cleverdie@gmail.com>
Date:   Thu May 9 14:21:00 2013 +0800

    add more include

commit ada1f7d4040161f2c97c661254653ea0065184fd
Author: Wei Chen <cleverdie@gmail.com>
Date:   Thu May 9 14:16:51 2013 +0800

    add list & vector

commit 412ca1a244a3a4400883261fa997b11b17bbf3f0
Author: Wei Chen <cleverdie@gmail.com>
Date:   Thu May 9 11:37:14 2013 +0800

    some basic types

commit fae8ce0c9589b6d047d5c7957cd412b855d332f0
Author: Wei Chen <cleverdie@gmail.com>
Date:   Thu May 9 02:45:17 2013 +0800

    support POD type