Git enhancements - get project snapshot

Sample output with submodules=True
commit count is configurable - right now commit log history is set to 1.

{
  "commits": [
    {
      "date": "2013-07-25 23:48:40 -0400",
      "sha": "49828ad81da7e7beb0957f0a97078ad24b6bc05f",
      "message": "",
      "subject": "adding a warning to future generations",
      "author": "dmyung",
    }
  ],
  "current_branch": "xform_meta_update",
  "submodules": [
    {
      "sha": "0d8b654e2039c102af7d42051a51343ec50b5e68",
      "branch": "(heads/master)",
      "path": "submodules/a5288-reports"
    },
    {
      "sha": "d93fb61c18c0a02fd838b3cb5f086ab49decddd5",
      "branch": "(heads/master)",
      "path": "submodules/auditcare-src"
    },
    {
      "sha": "4481f5a27bbe388c8879475c55cabd825345ff92",
      "branch": "(heads/master)",
      "path": "submodules/bihar-reports"
    },
    {
      "sha": "bf7bc984530869f94817bcbd25b16cb394032749",
      "branch": "(heads/master)",
      "path": "submodules/care-benin-reports"
    },
    {
      "sha": "91fdca1311a284cb4012bae6c31489c0c95cd517",
      "branch": "(heads/dimagi_utils_dep-3-g91fdca1)",
      "path": "submodules/casexml-src"
    },
    {
      "sha": "fd98db280ce82d518b5f4acbe4c841ce9018df01",
      "branch": "(heads/master)",
      "path": "submodules/cchq-load-testing"
    },
    {
      "sha": "8e8a3b1ded216215dd9741aee9ba42713f1eac94",
      "branch": "(heads/master)",
      "path": "submodules/commcare-translations"
    },
    {
      "sha": "ccddbde61542dda53b6798abee4e9b9454121d7b",
      "branch": "(heads/master)",
      "path": "submodules/couchdbkit-aggregate"
    },
    {
      "sha": "a81c3ee0c9d6d09baa547365c826f76f3e0f985f",
      "branch": "(heads/master)",
      "path": "submodules/couchexport-src"
    },
    {
      "sha": "+b3de56857feca8caa2fe333a2942cd76d962b7bb",
      "branch": "(1.0.0-27-gb3de568)",
      "path": "submodules/couchforms-src"
    },
    {
      "sha": "7263e1ab2bb5f3755f71e6e0e285dbe3cc8c3b3a",
      "branch": "(heads/master)",
      "path": "submodules/couchlog-src"
    },
    {
      "sha": "+444e8504444f3a5ff7be5d40b94d1b5eddcd1592",
      "branch": "(unique_indexes-102-g444e850)",
      "path": "submodules/ctable-src"
    },
    {
      "sha": "016f91f49a332365ade4ee23d4ff094dc0c79e2f",
      "branch": "(heads/master)",
      "path": "submodules/dca-reports"
    },
    {
      "sha": "+798f11015a1e462cc04ce6bcc9289071bfb258c1",
      "branch": "(1.0.4-31-g798f110)",
      "path": "submodules/dimagi-utils-src"
    },
    {
      "sha": "fe9f8554dbf53d0c4ae862a4605d546f3debc2c9",
      "branch": "(heads/master)",
      "path": "submodules/django-digest-src"
    },
    {
      "sha": "7972f2040f723b9fdebd7313b8167ba67413e3b1",
      "branch": "(heads/master)",
      "path": "submodules/django-soil-src"
    },
    {
      "sha": "1733128fdb547034deebf9a0b2feceb0f6da8761",
      "branch": "(heads/master)",
      "path": "submodules/djangocouch-src"
    },
    {
      "sha": "9af80faba6bab3c74c05b61d08e9749379816f21",
      "branch": "(heads/master)",
      "path": "submodules/fluff-src"
    },
    {
      "sha": "1022f143cc6c75ab47103c0a5db2b043ff434293",
      "branch": "(heads/master)",
      "path": "submodules/formdesigner"
    },
    {
      "sha": "5a33acca091c2e636bb1bc70b5a9cc1b41b41f82",
      "branch": "(remotes/origin/HEAD)",
      "path": "submodules/formtranslate-src"
    },
    {
      "sha": "5c96e7cb4cb4c90ca1b6d2cc16544a1ace8ece87",
      "branch": "(heads/master)",
      "path": "submodules/freddy"
    },
    {
      "sha": "841f580515a4e2694b0bd5e583a367a281761dfd",
      "branch": "(remotes/origin/HEAD)",
      "path": "submodules/hqstyle-src"
    },
    {
      "sha": "4241b48530450394408ecfc5896d4a67fcdf7523",
      "branch": "(heads/master)",
      "path": "submodules/hsph-reports"
    },
    {
      "sha": "7ab4a4565edeb45a3731e584d54b3d92ff533d9d",
      "branch": "(heads/master)",
      "path": "submodules/hutch-src"
    },
    {
      "sha": "1fa07258db8814190848f76d2abc655ac90593b9",
      "branch": "(heads/master)",
      "path": "submodules/langcodes"
    },
    {
      "sha": "62121c96da3004cb0160f13d42167849bbaa1192",
      "branch": "(heads/master)",
      "path": "submodules/mvp-reports"
    },
    {
      "sha": "f87ceada346aa26cb6af14916b64c9f64e3fee0c",
      "branch": "(heads/master)",
      "path": "submodules/pact-src"
    },
    {
      "sha": "6a966cdb161c37385582d35ff3745c71cfc30db7",
      "branch": "(heads/master)",
      "path": "submodules/pathfinder-reports"
    },
    {
      "sha": "5dabb9abd34d4c2baacd505fc9c1c60dea5ca829",
      "branch": "(heads/master)",
      "path": "submodules/pathindia-reports"
    },
    {
      "sha": "3c26b32e23f960576c575ce7f7474dd0e4ec80d9",
      "branch": "(heads/master)",
      "path": "submodules/payments"
    },
    {
      "sha": "4a4a6753717deae6ddc29eb5a46cf73b3eb1f648",
      "branch": "(heads/master)",
      "path": "submodules/phonelog"
    },
    {
      "sha": "3b6b18edcc51c65429a52e9c4a08b53b7270a102",
      "branch": "(heads/master)",
      "path": "submodules/pillowtop-src"
    },
    {
      "sha": "1ca32aa8281ddf607dc17d30f528c3589837c7d4",
      "branch": "(heads/master)",
      "path": "submodules/psi-reports"
    },
    {
      "sha": "746929baedc9ada57c2e6acec21cecf696a55995",
      "branch": "(heads/master)",
      "path": "submodules/python-digest"
    },
    {
      "sha": "d9fb8b8fe850875004f26afe9025b3f9d1334d5c",
      "branch": "(1.0.0-4-gd9fb8b8)",
      "path": "submodules/receiver-src"
    },
    {
      "sha": "37b01052963d0106518cd5b149433ffccf608777",
      "branch": "(heads/master)",
      "path": "submodules/sofabed-src"
    },
    {
      "sha": "e6d0aca26c6e88e5ce36d4a921c3ca0531849860",
      "branch": "(heads/master)",
      "path": "submodules/touchforms-src"
    }
  ],
  "compare_master": "https://github.com/dimagi/commcare-hq/compare/49828ad81da7e7beb0957f0a97078ad24b6bc05f...master",
  "commit_url": "https://github.com/dimagi/commcare-hq/commit/49828ad81da7e7beb0957f0a97078ad24b6bc05f"
}